Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Содержимое файла
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Содержимое файла

Страниц (1): [1]
 

1. colibri - 14 Мая, 2013 - 14:08:29 - перейти к сообщению
Добрый день!
Подскажите ,пожалуйста, с проблемой.
Есть код,работает.

for($i = 3; $i <7 ; $i++)
{
$filename = 'mnaut/'.$files[$i];
echo "<br>";
echo $files[$i];
echo '<br>';

if($fh1 = fopen($filename, 'r')) {
while(! feof($fh1)){
$s = rtrim(fgets($fh1));
echo $s.'<br>';
list($papka, $imya, $title) = explode('|',$s);
/*обработка данных*/
echo $put = 'arhiv/mn'.$papka.'/mn/'.$imya;
echo '<br>';
$soder = file_get_contents($put);
echo $soder;
}
}
fclose($fh1);
/*конец подсчета*/
}

Выдает примерно следующий результат
Array ( [0] => . [1] => .. [2] => .aut [3] => А_Б.aut [4] => А_Д.aut [5] => А_К.aut [6] => А_Т.aut)
А_К.aut

765|15-1.php|Почтальон Печкин стал мобильнее
arhiv/mn765/mn/15-1.php

далее содержимое файла arhiv/mn765/mn/15-1.php


но для каждого элемента массива в конце имеется запись arhiv/mn/mn/
то есть я так понимаю,когда feof($fh1) проходится и не находит больше строк образуются пустые переменные $papka, $imya, $title в следствии чего образуется такой пусть
как от этого избавиться?
2. Dimonira - 30 Мая, 2013 - 10:44:08 - перейти к сообщению
Не проще ли использовать одну file вместо всех этих: fopen, fgets, feof, fclose?

Да, забыл сразу сказать (хотя я не спец в php, но опыт подсказывает), причина, видимо, в пустой строке в конце файла.

 

Powered by ExBB FM 1.0 RC1