PHP. Функция fopen(). Вываливаются предупреждения на локальной машине

S
На сайте с 20.08.2007
Offline
140
434

Вот код:

$new_file = fopen("results/" . $file_name, "w+");

$file_write = fwrite($new_file, $file_content);
fclose($new_file);

На обычном сервере все хорошо. А если открыть файл с этим кодом на локальной машине, то получаю вот такие предупреждения:

Warning: fopen(results/) [function.fopen]: failed to open stream: No such file or directory in Z:\home\test3.ru\ on line 6

Warning: fwrite() expects parameter 1 to be resource, boolean given in Z:\home\test3.ru\ on line 7

Warning: fclose() expects parameter 1 to be resource, boolean given in Z:\home\test3.ru\ on line 8

При этом все работает, файл в директории создается, при необходимости перезаписывается.

То есть все хорошо, кроме этих варнингов, которые беспокоят перфекциониста во мне :).

Причину я примерно понимаю. Но вот как бороться с этим - не знаю.

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#1

Может просто писать как в современности нужно?

file_put_contents("results/" . $file_name,$file_content);

Попробуйте.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
S
На сайте с 20.08.2007
Offline
140
#2

Хорошая замена. Спасибо.

Но все равно на локале:

Warning: file_put_contents(results/) [function.file-put-contents]: failed to open stream: No such file or directory in Z:\home\test3.ru\ on line 6

То есть проблема не в функциях. Что-то на локальной машине, работающей под Виндой, не так работает. Но ведь я массу разных движков ставил на эту же локальную машину, движков, которые создают файлы и удаляют их в промышленных масштабах. И ни один из них не ругался такими словами. Хотя, возможно, они просто подавляли вывод таких предупреждений...

---------- Добавлено 12.06.2015 в 21:03 ----------

Вся, я понял в чем проблема - имя создаваемого файла аяксом передается и когда просто открываешь файл его просто нет, оно еще не передано. Что-то я затупил сильно

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий