Forum Webscript.Ru
Программирование => PHP => Тема начата: Trinux от 30 Марта 2004, 02:49:19
-
Я програмлю алгоритмы достаточно давно, но перейдя на php с каждым днем все дольше понимаю, что такого синтаксиса еще небыло... Но не могу понять кое чего... помогите разобраться плиз...
1) допустим есть файл, который содержит следующее...
1|123
2|123
3|123
Код
for ($i=0;$i<=count($file);$i++){
list($a,$b)=explode("|",$file[$i],2);
echo $a."-".$b;
}
Даст
1-123
2-123
3-123
А код
while($string=array_pop($file)){
list($a,$b)=explode("|",$string,2);
echo $a."-".$b;
}
Даст
3-123
2-123
1-123
??? Ничего не понимаю.
2) Где можно дость русской инфы по php для работы с файлами... Если знаете, подскажите как...
а)Получить имя файла без разширения
б)Получить список файлов в данной директории (с определенным разширением и вообще всех файлов)
в)Получить список директорий.
3)Где достать инфы по оссобеностям синтаксиса на php.
4)Ктонить может написать код замены определенной строчки в файле, а самое главное - объяснить код!!!!
Заранее спасибо.
-
1) в чем вопрос?
2) http://www.php.net/manual/ru/ref.filesystem.php
3) http://www.php.net/manual/ru/
4) много кто может.
-
Trinux:
1) допустим ...
А че ты удивляешся? Первый кусок перебирает массив с начала, второй (с array_pop) с конца. Причем здесь особенности синтаксиса?
4) Строчка в файле - довольно абстрактное понятие, я бы даже сказал - виртуальное :)
Если строка фиксированной длинны, тогда примерно так:
fopen($fh ,"file_name", "r+"); //открываем файл для чтения и записи
$offset=длинна_строки*номер_нужной_строки;// вычисляем нужную позицию
fseek($fh, $offset);//устанавливаем указатель чтения в нужную позицию
fwrite($fh, "new_string");// записываем новое строки вместо старой
fclose($fh);//закрываем файл
Ежели строки будут разной длинны тады читаем весь файл в массив, заменяем нужный элемент массива новым, записываем массив в файл.