проблема с fopen

Screamer

Новичок
Смогу. Если файл откроется, то молча отдастся дескриптор файла и условие выполнится. Если не откроется, то молча вернется false, условие не выполнится и ты сможешь самостоятельно обработать ошибку

-~{}~ 14.10.04 10:52:

Еще из той оперы: if (@isset($a[1])) заменяет if (is_array($a) && isset($a[1]))
 

_RVK_

Новичок
вывод ошибок запрещается ini_set('display_errors',0); без собак
Итак, еще есть аргументы?

-~{}~ 14.10.04 11:57:

Еще из той оперы: if (@isset($a[1])) заменяет if (is_array($a) && isset($a[1]))
Итак, у тебя в коде сотня собак, а у меня одна строчка. Не говоря уже об очевидной бессмысленноси твоего кода. Но не отходим от темы, мы говорим о работе с файлами.
 

demis

Новичок
Давай позовем еще кого-нить из опытных Фаната, tony2001 и др. и пусть они тоже скажут как надо. Буду готов признать что не прав и не буду больше никогда использовать @, не знаю как Screamer.
Мне, если честно, интересно, даже если я не прав.
 

_RVK_

Новичок
http://phpclub.ru/talk/showthread.php?s=&threadid=44525&rand=90

-~{}~ 14.10.04 17:23:

demis
Но ты меня так и не понял. Конкретно в этом случае, собаку применять можно, при определенных условиях. Но это никак не относится к теме топика, потому что мы не видели всего скрипта, и не можем точно взвесить за и против в этом конкретном случае. Но в общем случае собака вредна, особенно для новичков.
 

Screamer

Новичок
Diesel
Есть еще аргумент. Если ошибка планируемая (например, тебе нужно взять файл, если он есть, но если его нет, это тоже нормально), то тебе не нужно видеть именно эту ошибку, а вот другие ошибки тебе как раз надо видеть (пока ты работаешь над скриптом), так что все полностю подавлять не хочется. Не последний

-~{}~ 15.10.04 10:38:

фактор и лень - можно, конечно, написать if (file_exist('name') && $fp = fopen(...))
 

demis

Новичок
проблема не в этом file_exist('name'), проблема в том, что это не работает для удаленных файлов, и возможно Demiurg прав, сказав на каком-то форуме про @. Просто разработчики не предусмотрели функцию проверки удаленных файлов, по крайней мере я не нашел таковую, и это их вина!!! и в данном случае без собаки просто не обойтись, а использовать ее, это вопрос спорный и можно спорить всю жизнь. Если тебе интересно про это прочитай рассуждения людей в ветке форума, написанной выше. Здесь, думаю, спор не уместен. Человек просил, ему дали вариант, он доволен.
 

SiMM

Новичок
demis, ограничения HTTP не являются виной PHP, да и никаких удалённых HTTP-файлов нет - есть URL.
 

_RVK_

Новичок
фактор и лень - можно, конечно, написать if (file_exist('name') && $fp = fopen(...))
Именно лень, хотя лень писать file_exsists, пиши просто is_file. Но наличие фала нужно проверять всегда.
И вообще ты не о том. В этом конкретном случае есть аргументы, на которые я бы согласился. Почитай тему топика, вопрос автора и подумай еще :)
Просто разработчики не предусмотрели функцию проверки удаленных файлов
Ты правильно мыслишь, но эта проблема тоже решается установкой display_errors в off. Но есть другая проблема, для решения которой в этом конкретном случае возможно лучше использовать @.
Но еще раз повторяю, никогда не советуй использовать @ новичку. Он завтра прибежит на форум с вопросом типа "Не работает а ошибок не выдает". 99% пробелм решаются display_errors = 0, и только 1% лучше решить с помощью @, но для того, что бы отделить одно от другого нужен опыт, поэтому пока лучше обходится вообще без @. Понятно?
 
Сверху