Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Непонятная ошибка с file()


Автор: XOMbl4 27.9.2008, 12:15
СОбственно имеется файл .txt,нужно его прочесть
Пробовал и file и  file_get_contents() и все
Ошибок нету,просто возвращает false (делал проверку через if())
Чмод на .txt стоит 777
Ну непонимаю в чем дело и все тут =(

Автор: ViniPuh 27.9.2008, 12:27
Впоолне возможно, там где PHP пытается его прочесть файла такого нет. Надо попробовать поосмотреть пути к файлу. Если использовался абсолютный, попробовать относительный.

Автор: XOMbl4 27.9.2008, 12:28
Файлы лежат в одной директории
Если путь неправилен-выдаст ошибку,что такого файла нету

Автор: bars80080 27.9.2008, 13:02
а если всё же проверить file_exists('тот же путь')

надеюсь, error_reporting(E_ALL); вначале стоит?

Автор: XOMbl4 27.9.2008, 13:15
Цитата(bars80080 @  27.9.2008,  13:02 Найти цитируемый пост)
а если всё же проверить file_exists('тот же путь')

надеюсь, error_reporting(E_ALL); вначале стоит? 

Код

if( file_exists('spisok.txt')==true){
print 'true';
}else{
print 'false';
}
Выдает тру
Если же изменить функцию на file() - то будет false

Автор: gta4kv 27.9.2008, 13:28
 smile  smile  smile 

Код

define( 'path', dirname( __FILE__ ) . DIRECTORY_SEPARATOR );
$file = file_get_contents( path . 'file.txt' );


 smile  smile  smile 

Автор: XOMbl4 27.9.2008, 13:40
Нипамагло..
Если я конечно правильно понял что path==абсолютный путь

Добавлено через 1 минуту
Упс,я лошара..)

Добавлено через 1 минуту и 36 секунд
Но один хрен неработает

Добавлено через 2 минуты
Код

define( 'path', dirname( __FILE__ ) . DIRECTORY_SEPARATOR );
$file = file_get_contents( path . 'spisok.txt' );
if( $file==true){
print 'true';
}else{
print 'false';
}

Автор: Sunvas 27.9.2008, 13:56
XOMbl4, а кто тебе сказал, что переменная $file будет равна true? Функция file_get_contents возвращает СОДЕРЖИМОЕ файла.

Автор: XOMbl4 27.9.2008, 13:58
И правда
Код

define( "path", dirname( __FILE__ ) . DIRECTORY_SEPARATOR );
$file = file_get_contents( path . "spisok.txt" );
if( $file==false){
print "false";
}else{
print "true";
}

Дает false =(

Добавлено через 1 минуту и 1 секунду
file_exists() в этом же примере дает true ^^

Автор: Sunvas 27.9.2008, 16:42
Цитата(XOMbl4 @  27.9.2008,  13:58 Найти цитируемый пост)
Дает false =(

Читаем http://ua.php.net/file_get_contents :
Цитата

В случае неудачи, file_get_contents() вернёт FALSE.

Включаем логику: PHP не может получить доступа к файлу, возможно ЧМОДами запрещено?



Автор: gta4kv 27.9.2008, 17:29
XOMbl4, а просто:

Код

define( 'path', dirname( __FILE__ ) . DIRECTORY_SEPARATOR );
$file = file_get_contents( path . 'spisok.txt' );
var_dump( $file );

не пробовал?

Автор: XOMbl4 27.9.2008, 20:24
Это бред О_О
Я ничего не делал,уходил,комп не выключал
Пришел,обновил страничку со скриптом-false сменился на true..
Шайтанама

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)