Home PHP А.Волос "PHP Практика " Глава 4 Делаем из файла - главу (VirtueMar) Listing_14_08
Listing_14_08 PDF Печать E-mail
Автор: А.Волос   
18.04.2011 01:51
Глава_03


<?php
//ставит заголовок на страницу

//-----------------------------
// откроем файл для записи ошибок
$filename = "error.txt";
if(!($myFile = fopen($filename, "w"))) {
print("Error: ");
print("'$filename' could not be created\n");
exit;
}
//-----------------------------
// open directory
$myDirectoryFrom = opendir("to3");
$n=0;
// считаем в массив имена файлов из from1
while(FALSE !== ($entryName = readdir($myDirectoryFrom))) {
$masNameFrom[$n] = $entryName;
$n++;
}
// сосчитаем количество элементов в массиве
$indexLimit = count($masNameFrom);

//----------------------------------------
// для каждого имени файла повторим цикл
for($index=2; $index < $indexLimit; $index++) {

//---------------------------
// откроем файл для чтения
$Temp = "to3/";
$filenameFrom = "$Temp$masNameFrom[$index]";
if(!($myFileFrom = fopen($filenameFrom, "r"))) {
fputs($myFile, "'$filenameFrom' could not be opened\n" );
exit;
}

//---------------------------
//откроем файл для записи
$Temp1 = "to4/";
$filenameTo = "$Temp1$masNameFrom[$index]";
if(!($myFileTo = fopen($filenameTo, "w"))) {

fputs($myFile, "'$filenameTo' could not be created\n" );
exit;
}

$newIndex = 0;
//скопируем построчно в режиме дополнения из fileOut.txt в fileOut1.txt
while(!feof($myFileFrom)){

//читаем строку из файла $myLineQ = fgets($myFileFrom, 255);

$prim = substr_count($myLineQ,'function <SPAN CLASS="gloss">');

if($prim > 0){

$slovo1 = strstr($myLineQ,'function <SPAN CLASS="gloss">');// (обрез слева по $Id:
$slovo = trim($slovo1);//убрать пробелы по краям строки
$slovo2 = substr($slovo, 29,-1);
$slovo3 = trim($slovo2);//убрать пробелы по краям строки
$name_function = strtok($slovo3,"<");//(обрез справа по пробелу)

fputs($myFileTo, "<h4> $name_function() </h4>");

}

$newIndex++;
if($newIndex > 100){

$newIndex = 0;
break;
}
}//end while--------------------------------

//перейти на 0 позицию в файле
fseek($myFileFrom,0);

//---------------------------
//считаем построчно из файла from в файл to
while(!feof($myFileFrom)) {

//читаем строку из файла $myLine = fgets($myFileFrom, 1024);

fputs($myFileTo, "$myLine");

}//end while--------------------------------

// закроем файлы
fclose($myFileFrom);
fclose($myFileTo);

}//end for----------------------------

// close directory
closedir($myDirectoryFrom);
fclose($myFile);
//--------------------------------

?>


Вверх

Обновлено 05.05.2011 07:59