Цитата(web_VIP @ 8.2.2008, 16:19 ) | Код
$file=dirname(__FILE__)."db.txt";
попробуй так
А что это значит? можешь пояснить |
Смысл предложений Vaulter и drpain в том, чтобы составить абсолютный путь к файлу. dirname() вернет путь в файловой системе к директории, в которой расположен Ваш скрипт. Должен заработать, если добавить слеш.
| Код | $file=dirname(__FILE__)."./db.txt";
|
В принципе любой из предложеных вариантов должен заработать, но есть ньюансы.
Вараианты $file=dirname(__FILE__)."./db.txt"; и $file = getcwd()."/../libraries/db.txt"; опираются на знание относительного положения файла относительно скрипта. Если Вам придется не подключать файл с определением пути файла, а определять в другом скрипте, из другой директории, путь придтся формировать по-другому.
Вариант $file = $_SERVER["DOCUMENT_ROOT"]."/libraris/db.txt"; в этом смысле более общий. Так можно определить путь к файлу, не заботясь о распоположении скрипта. Но он опирается на предположение, что Ваш проект обязательно расположен в корне сайта. Если переместить проект как целое в поддиректорию, работать перестанет.
С getcwd() связан еще один ньюанс. Если dirname() возвращает директорию, в которой расположен данный скрипт, то getcwd() возвращает текущую рабочую директорию. И тут надо быть осторожным. Если Ваш скрипт подключается другим, из другой директории, Вас ждет сюрприз. getcwd() вернет директорию, в который расположен скрипт, вызванный пользователем, а не подключенный. А если вызов происходит из командной строки, текущая директория - это вообще директория, в которой находится пользователь, когда этот скрипт вызывает. Текущая директория - очень непредсказуемая штука. Я бы не использовала этот вариант |