Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2011, 18:25   #1
Gen_r_questions
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 81
По умолчанию Работа с файлами

Код:
<?php
$file = "./666.txt";
if(!($dpr = fopen($file, "r"))) die ("Невозможно открыть файл $file.");
while(!feof($dpr)){ 
fseek($dpr,1,SEEK_SET);
echo "<b>Указатель находится в позиции: </b>";
echo ftell($dpr);
}
fclose($dpr);
?>
Почему ftell всегда выводит 1?
Gen_r_questions вне форума Ответить с цитированием
Старый 26.04.2011, 18:49   #2
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Используйте SEEK_CUR вместо SEEK_SET
ssdm вне форума Ответить с цитированием
Старый 26.04.2011, 19:02   #3
Gen_r_questions
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 81
По умолчанию

Цитата:
Используйте SEEK_CUR вместо SEEK_SET
Так зависает
Почему while(!feof($dpr)){ не работает ?
Как сделать чтоб не зависало ?
Gen_r_questions вне форума Ответить с цитированием
Старый 26.04.2011, 19:23   #4
Gen_r_questions
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 81
По умолчанию

Код:
<?php
$file = "./666.txt";
if(!($dpr = fopen($file, "r"))) die ("Невозможно открыть файл $file."); 
for($i=0;$i<100;$i++){
fseek($dpr,$i);
if (feof($dpr)==true)
echo 'верно<br>';
}
fclose($dpr);
?>
Почему feof не возвращает true ?
Gen_r_questions вне форума Ответить с цитированием
Старый 26.04.2011, 20:39   #5
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Файл точно правильно открывается? Можете какие-нибудь данные из файла взять и вывести на экран? Ошибки нигде не подавляются? попробуйте error_reporting(-1);
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 29.04.2011, 09:01   #6
mr.allty
Пользователь
 
Регистрация: 22.03.2011
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Gen_r_questions Посмотреть сообщение
Код:
<?php
$file = "./666.txt";
if(!($dpr = fopen($file, "r"))) die ("Невозможно открыть файл $file.");
while(!feof($dpr)){ 
fseek($dpr,1,SEEK_SET);
echo "<b>Указатель находится в позиции: </b>";
echo ftell($dpr);
}
fclose($dpr);
?>
Почему ftell всегда выводит 1?
Потому что Вы сами устанавливаете указатель на 1 байт файла

Цитата:
Код:

<?php
$file = "./666.txt";
if(!($dpr = fopen($file, "r"))) die ("Невозможно открыть файл $file.");
for($i=0;$i<100;$i++){
fseek($dpr,$i);
if (feof($dpr)==true)
echo 'верно<br>';
}
fclose($dpr);
?>

Почему feof не возвращает true ?
Видимо размер файла больше указанных Вами 100 байтов
"Сильный" программист
mr.allty вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с файлами BloodMaX Помощь студентам 7 11.03.2010 22:03
Работа с файлами Корделия Общие вопросы C/C++ 12 03.12.2009 20:25
Работа с файлами snake-as Общие вопросы Delphi 1 19.10.2008 13:38
Работа с файлами Скрунж Паскаль, Turbo Pascal, PascalABC.NET 1 18.10.2008 15:19
Работа с файлами Smith777 Помощь студентам 4 23.02.2008 05:08