[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: функция file() не заполняет массив
DubAlex
Здравствуйте!
Есть следующий кусок кода:
Код
<?php
$current_dir=getcwd();
if($handle = opendir($current_dir))
{
while (false !== ($current_file = readdir($handle)))
{
if(($current_file==".") || ($current_file==".."))
continue;
if($current_file=="kable.html")
{
$file_content=file($current_file);
echo $file_content[0];
}
}
closedir($handle);
}
?>

Файл "kable.html" содержит определенную информацию, но, почему-то строка
Код
echo $file_content[0];
ничего на экран не выводит.
Если вместо функции file() подставить readfile() - то все работает нормально и на экране сразу же появляется вся страница.
В чем причина?



Спустя 2 дня, 18 часов, 12 минут, 35 секунд (14.01.2008 - 17:47) bret написал(а):
Текст файла точно не начинается с пустой строки7 (ср. http://www.ccc.ru/magazine/topics/kable.html)

Спустя 2 месяца, 5 дней, 19 часов, 41 минута, 28 секунд (20.03.2008 - 13:29) LoneCat написал(а):
В kable.html у тебя первая строка - пустая, как писал автор выше, он тебе ее и выводит, хочу напомнить что file() читает файл в массив строк, разделенных переносами, а чтобы сразу получить весь файл в одну переменную - нужно использовать file_get_contents().

Спустя 2 месяца, 17 дней, 56 минут, 33 секунды (7.06.2008 - 13:25) Rapp_colince написал(а):
Всем привет. У меня похожая проблема есть файл с названием товара и ценами.
Я хочу создать массив, каждый элемент которого будет содержать одну строчку из файла.
Вот, мой код:
Код
fopen("/book.txt", "r");
$file_price = file('/book.txt');
for ($i = 1; $i < 11; $i ++) {
    echo $file_price[$i];
}

Ничего не пишется. Чего не хватает?
Помогите дураку wink.gif

Спустя 8 минут, 6 секунд (7.06.2008 - 13:34) n1tr0k1ll3r написал(а):
Цитата(Rapp_colince @ 7.6.2008, 14:25) [snapback]40175[/snapback]
Всем привет. У меня похожая проблема есть файл с названием товара и ценами.
Я хочу создать массив, каждый элемент которого будет содержать одну строчку из файла.
Вот, мой код:
Код
fopen("/book.txt", "r");
$file_price = file('/book.txt');
for ($i = 1; $i < 11; $i ++) {
    echo $file_price[$i];
}

Ничего не пишется. Чего не хватает?
Помогите дураку wink.gif

Зачем первая строчка???
если book.txt в одной папке со скриптом, то напиши
Код
'./book.txt' или 'book.txt'

Да и зачем ограничивать вывод 11? Пиши
Код
$i < count($file_price);

Спустя 15 минут, 2 секунды (7.06.2008 - 13:49) Rapp_colince написал(а):
Получилось. Спасибо!

Спустя 4 минуты, 38 секунд (7.06.2008 - 13:53) n1tr0k1ll3r написал(а):
Цитата(Rapp_colince @ 7.6.2008, 14:49) [snapback]40179[/snapback]
Получилось. Спасибо!

Не за что. smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.