Forum Webscript.Ru

Программирование => PHP => Тема начата: Trinux от 30 Марта 2004, 02:49:19

Название: Некоторые оссобенности 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)Ктонить может написать код замены определенной строчки в файле, а самое главное - объяснить код!!!!

Заранее спасибо.
Название: Некоторые оссобенности php программирования...
Отправлено: hanslinger от 30 Марта 2004, 05:32:45
1) в чем вопрос?
2) http://www.php.net/manual/ru/ref.filesystem.php
3) http://www.php.net/manual/ru/
4) много кто может.
Название: Некоторые оссобенности php программирования...
Отправлено: Mog. от 30 Марта 2004, 09:13:40
Цитировать
Trinux:
1) допустим ...

А че ты удивляешся? Первый кусок перебирает массив с начала, второй (с array_pop) с конца. Причем здесь особенности синтаксиса?
4) Строчка в файле - довольно абстрактное понятие, я бы даже сказал - виртуальное :)
Если строка фиксированной длинны, тогда примерно так:

fopen($fh ,"file_name", "r+"); //открываем файл для чтения и записи
$offset=длинна_строки*номер_нужной_строки;// вычисляем нужную позицию
fseek($fh, $offset);//устанавливаем указатель чтения в нужную позицию
fwrite($fh, "new_string");// записываем новое строки вместо старой
fclose($fh);//закрываем файл

Ежели строки будут разной длинны тады читаем весь файл в массив, заменяем нужный элемент массива новым, записываем массив в файл.