Страница 1 из 3

Ошибка при записи файла

Добавлено: 20 фев 2011, 17:07
ukhov
Вот код:

Код: Выделить всё

<?php   $fp=fopen("test/test.txt","a+");  if ($fp) {  flock($fp,2);  fwrite($fp,"text");  flock($fp,3);  fclose($fp);  }?>
При этом ошибка:
Warning: fopen(test/test.txt) [function.fopen]: failed to open stream: No such file or directory in /var/www/u1476588/data/www/test.ru/test/test.php on line 3
А если код такой(без внутренней директории):

Код: Выделить всё

<?php   $fp=fopen("test.txt","a+");  if ($fp) {  flock($fp,2);  fwrite($fp,"text");  flock($fp,3);  fclose($fp);  }?>
то ошибки нет и всё записывается. Как сделать, чтобы записало в файл, который находится в поддиректории?

Re: Ошибка при записи файла

Добавлено: 20 фев 2011, 18:31
Александр
Где находится файл test.txt и сам php скрипт?

Почитай про относительные и абсолютные пути.

"test/test.txt" - ищет файл test.txt в папке test, которая находится в папке со скриптом.
"/test/test.txt" - ищет файл test.txt в папке test, которая находится в корне сайта.

Re: Ошибка при записи файла

Добавлено: 20 фев 2011, 18:44
ukhov
знаю я это.
в ошибке написан адрес файла. вот test.php (test.ru/test/test.php):

Код: Выделить всё

<?php   $fp=fopen("test/test.txt","a+");  if ($fp) {  flock($fp,2);  fwrite($fp,"text");  flock($fp,3);  fclose($fp);  }?>
и при этом ошибка,, надо записать файл

Re: Ошибка при записи файла

Добавлено: 20 фев 2011, 18:49
Александр
Такая структура?

Код: Выделить всё

- test - test.txt - test.php
Оба файла находятся в папке test?
Тогда посмотри что у тебя в скрипте... "test/test.txt" - относительный путь. Скрипт ищет файл test.txt в папке test.ru/test/test/test.txt

Re: Ошибка при записи файла

Добавлено: 20 фев 2011, 19:04
ukhov
Александр писал(а):Такая структура?

Код: Выделить всё

- test - test.txt - test.php
Оба файла находятся в папке test?
Тогда посмотри что у тебя в скрипте... "test/test.txt" - относительный путь. Скрипт ищет файл test.txt в папке test.ru/test/test/test.txt
структура:

Код: Выделить всё

 - test.ru               -test                              -test.txt                              -test.php                              -test                                              -test.txt
в первом случае, когда test.php записывает в test.txt - всё работает, а во втором, когда записыывает в test/test.txt - ошибка

Re: Ошибка при записи файла

Добавлено: 20 фев 2011, 19:45
ukhov
если указать файл, который записывает скрипт, и который находится в той же папке, что и скрипт, то всё работает. и test.txt с test.php окажутся в одной папке. а я хочу чтобы test.php находились вместе с папкой test, в которую запишет скрипт файл test.txt, но при этом ошибка. т.е. нельзя указать test/test.txt для записи. можно только test.txt. как это исправить?

Re: Ошибка при записи файла

Добавлено: 20 фев 2011, 20:45
ukhov
всё правильно. может сервера хостера с php не дружат? :lol:
не хочется записывать в формате test_test.txt, месево получится

Re: Ошибка при записи файла

Добавлено: 23 фев 2011, 10:34
ukhov
up

Re: Ошибка при записи файла

Добавлено: 23 фев 2011, 12:44
acpid
запутал ты)
куда надо записать,дай полный путь?

Re: Ошибка при записи файла

Добавлено: 23 фев 2011, 12:47
acpid
пробуй "/test/test.txt" или "./test/test.txt"

ну и проверь разрешения например на чтение/запись в этой папке то. 777 попробуй поставь