2017-02-10 1 views
1

Я пытаюсь выполнить оператор IF, который выбирает, какое изображение отображается в зависимости от того, какую строку он читает из файла, либо строку «ROTTEN», либо строку «FRESH». Однако, даже если файл имеет «ROTTEN» в нем, он всегда идет в другую часть независимо от того, что. Я правильно оцениваю утверждение IF? Его чтение правильной строки, я это точно знаю. ФункцияКакой формат 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 (strcasecmp (fgets ($ myfile)'. Редактировать: это в соответствии с вашим исходным сообщением http://stackoverflow.com/revisions/42163578/1 –

+0

это не работает либо 'if (fgets ($ myfile) == «ROTTEN») ' –

+0

, мы также не знаем, что такое' $ myfile' и где он назначен, а также его фактическое содержимое. В любом случае вам дается ответ ниже, спросите их. –

ответ

2

Вы можете использовать StrPos():

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

@ Дакота Вагнер Добро пожаловать! – jetblack

0

fgets возвращает строку в виде строки, с длиной, если вы определили или 1kB. это также включает EOL, поэтому вы сравните это не будет правдой. Вы можете использовать параметр длины или strpos или substr, чтобы проверить его.

+1

Или обрезать его. Это позволит удалить все пробелы с обеих сторон. – aynber