Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: функция $nfile = fopen();

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Faab
Отправлено: 28 Марта, 2013 - 19:11:34
Post Id


Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Пытаюсь открыть файл nfile.txt, который лежит в том же месте где и класс, откуда делаю вызов:

$nfile = fopen('nfile.txt', 'rt');

Результат:
fopen(nfile.txt) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory

Что не так?

(Отредактировано автором: 28 Марта, 2013 - 19:12:32)

 
 Top
EuGen Администратор
Отправлено: 28 Марта, 2013 - 19:21:18
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Делайте так:
PHP:
скопировать код в буфер обмена
  1. $nfile = fopen(__DIR__.'/nfile.txt', 'rt');


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Faab
Отправлено: 28 Марта, 2013 - 19:34:42
Post Id


Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




EuGen пишет:
Делайте так:
PHP:
скопировать код в буфер обмена
  1. $nfile = fopen(__DIR__.'/nfile.txt', 'rt');


Спасибо, всё работает. Перечитывал несколько раз для чего третий и четвёртый параметры, но так и не понял. Ставим TRUE и что потом: как указать путь include_path? Четвёртый вообще не понял.

Можете пояснить немного пожалуйста.
 
 Top
EuGen Администратор
Отправлено: 28 Марта, 2013 - 19:38:35
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Третий параметр (use_include_path) - означает, что функция будет пытаться использовать пути, которые указаны как путь подключаемых файлов (посмотреть его можно, к примеру, функцией get_include_path - или в php.ini) - в случае, если файл не будет обнаружен по тому пути, который указан первым параметром (с учётом относительности от текущей директории, при этом "текущая директория" - это не директория текущего скрипта, а текущая рабочая директория, то есть та, из которой был запущен исходный скрипт, который, в общем случае, не обязан совпадать с тем, что вызывает fopen() - например, по той причине, что исходный скрипт может подключать текущий).


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB