Помогите плиззззз. Не читается файл.

sakon

П..и.н..ок
Помогите плиззззз. Не читается файл.

Здрвствуйте.
Помогите пжалуйста понять. Написал я функцию, которая берет из файла строки (должна брать) разбивает на значения и сохраняет в переменной.
PHP:
function filetotext()
{
$filename = "text.txt";
echo $filename;
        $filetext = file($filename);
//        print_r ("$filetext");
for($i=0;$i<sizeof($filetext);$i++)
{
        $text[$i]=split("|",$filetext[$i]);
}
return $text;
}
Файл text.txt существует в нужном каталоге.
При этом уже попытка вывести содержимое
PHP:
$filetext
не выводит значений.
Плиз подскажите где ошибка.
$text будет применяться в других функциях и она очень важна.
Заранее спасибо.
 

Demiurg

Guest
Пиши всегда абсолютные пути и включи вывод ошибок.
 

sakon

П..и.н..ок
То есть прописывать типа $filename ="http://www.domen/...."?

-~{}~ 29.11.04 08:32:

Проверку на наличие файла я поставил, просто здесь не указал.
 

agx

Программер :-)
filetext - это массив строк, он не может выводится так, как у тебя в комментариях. Напиши
echo $filetext[0];

-~{}~ 29.11.04 10:49:

И еще, абсолютные пути задавать НЕ СЛЕДУЕТ! Ни в коем случае!
Задавай пути через $_SERVER['document_root']

-~{}~ 29.11.04 10:54:

В смысле типа C:\... писать не надо!
 

Demiurg

Guest
agx
Во-первых ты повнимателнее посмотри приведенный код и почитай про функцию [m]print_r[/m] а заодно и про [m]var_dump[/m]. Во-вторых в document_root находится именно абсолютный путь. И еще почитай ссылку, приведенную SiMMом, там все написано.
 

agx

Программер :-)
Demiurg
Да читал я ее.
Про пути я имел ввиду, что в сценарии не следует писать
абсолютный путь к файлу на локальном компьютере, а задавать его через document_root.
Про print_r и правда не знал, спасибо. :)
 

Demiurg

Guest
>а задавать его через document_root
мне например, больше нравится идея с заданием констант.
 

sakon

П..и.н..ок
То есть общее мнение, что скрипт не находит сам файл?
 

Profic

just Profic (PHP5 BetaTeam)
sakon
вот эта конструкция, учитывая что она работает с регулярками, тоже выглядит сомнительно
$text[$i]=split("|",$filetext[$i]);
split меняем на explode + не забываем про [m]trim[/m]() применительно к [m]file[/m]()
agx
может. не нада ля-ля. другое дело, что без кавычек.
sakon
убери в своем print_r кавычки и прочитай вот это [m]types.string[/m]
 

sakon

П..и.н..ок
Тада почему проверка на наличие файла не выдает ошибку?

if(file_exists($filename))
$filemenu = file($filename);
else
return $filename." - ошибка доступа!";
 

sakon

П..и.н..ок
Спасибо всем кто откликнулся на мой вопрос и за помощь которую вы мне оказали.
Проблема заключалась в строке
PHP:
 $text[$i]=split("|",$filetext[$i]);
После замены split на explode (по совету Profic ) все нормально заработало.
Еще раз большое всем спасибо.
 
Сверху