2017-02-10 10 views
1

文字列 "ROTTEN"または文字列 "FRESH"のいずれかからファイルから読み込む文字列に応じてどのイメージが表示されるかを選択するIF文を実行しようとしています。しかし、ファイルに "ROTTEN"が含まれていても、何があっても常にelse部分に移動します。 IF文を正しく評価していますか?その正しい行を読んで、私は確かにそれを知っている。あなたはstrpos()関数を使用することができますfget()はどのようなフォーマットですか; PHPでリターン? (文字列の評価)

if(strcasecmp(fgets($myfile), 'ROTTEN') == 0){ 
    echo "<img src='https://webster.cs.washington.edu/images/rotten.gif' alt='Rotten' />"; 
}else{ 
    echo "<img src='https://webster.cs.washington.edu/images/fresh.gif' alt='Fresh' />"; 
}; 
+0

'' fgets($ myfile) '' - 変数は一重引用符で評価されず、関数のためにそれらを使用した理由もありません。これを削除するだけで 'if(fgets($ myfile)'。編集:これは元の投稿ごとに行います。http://stackoverflow.com/revisions/42163578/1 –

+0

これは、 'if(fgets($ myfile)' ' )== "ROTTEN") ' –

+0

' $ myfile'が何であるか、そして実際の内容と同じように割り当てられている場所もわかりません。どんな場合でも、以下の答えが与えられていれば、それを聞いてください。 –

答えて

2

:あなたが定義または1kBの場合

if(strpos(fgets($myfile), 'ROTTEN') !== false){ 
    echo "<img src='https://webster.cs.washington.edu/images/rotten.gif' alt='Rotten' />"; 
}else{ 
    echo "<img src='https://webster.cs.washington.edu/images/fresh.gif' alt='Fresh' />"; 
}; 
+0

これは完璧に、ありがとう。 –

+0

@Dakota Wagnerよろしくお願いします! – jetblack

0

関数fgetsは長さで、文字列として行を返します。これにはEOLも含まれているので、あなたはそれが真実ではないと考えています。 lengthパラメータ、strposまたはsubstrを使用してチェックできます。

+1

またはトリムします。これにより、どちらの側の空白もすべて削除されます。 – aynber

関連する問題