Чё за херь? fopen [php] *CLOSED*
ну во-первых подобное иногда случается когда файла указанного в fopen попросту не существует 
А если существует - приведи всю строчку где fopen.

А если существует - приведи всю строчку где fopen.
Короче. Проичходит следующее. Выбираются все фаилы с путями в этой и во вложенных папках (находятся в $files)
Далее:
Причём если я тупо открываю конкретный фаил в папке не на "а", ругается что его нету. Хотя он есть....
ЧТо за беда?
Далее:
Почему то отрываются фаилы только в папках с именами начинающимися с "a". У остальных вылезает этот баг.
foreach($files as $file)
{
print($file."<br>");
$fp=fopen("r",$file) or die("Невозможно открыть фаил ".$file);
$content=fread($fp,filesize($file;
fclose($fp);
}
Причём если я тупо открываю конкретный фаил в папке не на "а", ругается что его нету. Хотя он есть....
ЧТо за беда?
Хм... Ну вобще-то, если я не туплю, должно быть fopen($file,"r") а не fopen("r",$file)

Хм... Ну вобще-то, если я не туплю, должно быть fopen($file,"r") а не fopen("r",$file)вот оно PHP в действии
а что? Тут не ПХП виноват, тут афтор =) Функция принимает 2 строковых параметра, поэтому ПХП и не ругнулся
в нормальном языке с нормальной библиотекой второй параметр сделали бы как енум или как класс (если хочешь, даже с конструктором с параметром, куда ты передал бы свой "r")
тогда на эту ошибку было бы сообщение при компиляции, и все было бы понятно
тогда на эту ошибку было бы сообщение при компиляции, и все было бы понятно
А „C“ это нормальный язык? В нём эта функция определена точно так же.
в этом смысле ответ: нет, не нормальный
хотя тут вопрос во многом в библиотеке
хотя тут вопрос во многом в библиотеке
На самом деле в его случае из текста варнинга все становится понятно, если посмотреть внимательно.
Ты уж извини, но для обсирания пхп с претензией на отцовство треды уже были, зачем опять это разводить?
Ты уж извини, но для обсирания пхп с претензией на отцовство треды уже были, зачем опять это разводить?
Блин, сто пудов!
ТОгда какого хрена он всё же открывал фаилы, и даже выводил их содержимое?
ТОгда какого хрена он всё же открывал фаилы, и даже выводил их содержимое?
просто раньше, когда все это придумывали на то, чтобы как можно больше ошибок отлавливались компилятором и сопровождались содержательными сообщениями, обращали внимание меньше всего
На самом деле в его случае из текста варнинга все становится понятно, если посмотреть внимательно.а это разве не рантайм сообщение?
Ты уж извини, но для обсирания пхп с претензией на отцовство треды уже были, зачем опять это разводить?
Связано вот с этим
mode (второй параметр) выбирается из следующего списка:Соответственно когда у тебя путь начинался с a...
...
'a' - Открыть только для записи, помещает указатель на конец файла. Если файл не сществует, создается новый файл.
ты с PHP вообще работал когда-нибудь?
PHP это интерпретируемый язык без жесткой типизации данных, так что у него бывают либо ошибки парсинга скрипта, либо Run-time error.
PS. Закройте уже эту тему.
PHP это интерпретируемый язык без жесткой типизации данных, так что у него бывают либо ошибки парсинга скрипта, либо Run-time error.
PS. Закройте уже эту тему.
рантайм, ну и что?
пхп же не компилятор.
пхп же не компилятор.
согласен, закрыть 

А вот он он фаилик по имени "r" и нашёлся.....
Всем спасибо. В очередной раз убедился, что укуренным кодить сложно
Всем спасибо. В очередной раз убедился, что укуренным кодить сложно

ок, закрыли
просто мне понравился этот пример из жизни - наглядная иллюстрация почему интерпретатор и нежесткая типизация не всегда хороши
а что если бы у него в программе этот кусок кода выполнялся в очень редких случаях?
тогда нашел бы кто-нибудь ошибку, когда уже и чела, что эту прогу писал нет давно или он забыл, что такое ПХП
просто мне понравился этот пример из жизни - наглядная иллюстрация почему интерпретатор и нежесткая типизация не всегда хороши
а что если бы у него в программе этот кусок кода выполнялся в очень редких случаях?
тогда нашел бы кто-нибудь ошибку, когда уже и чела, что эту прогу писал нет давно или он забыл, что такое ПХП

Оставить комментарий
Ivan826
Warning: fopen(r): failed to open stream: Bad file descriptor in z:\home\test1.ru\www\search.php on line 40от чего это может быть?