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


<?php
//скрипт раскрашивает запросы к БД

//объявим массивы
$masNameFrom = array();
$masNameTo = array();

//объявим переменные
$leks_01 = '$q = &quot;';
$leks_02 = '$q .= &quot;';
$leks_03 = '$q = \'';
$rep1 = "<SPAN CLASS=\"gloss9\">";
$rep2 = "</SPAN CLASS=\"gloss9\">";

//-----------------------------
// откроем файл для записи ошибок
$filename = "error.txt";
if(!($myFile = fopen($filename, "w"))) {

print("Error: ");
print("'$filename' could not be created\n");
exit;
}
//-----------------------------
// open directory
$myDirectoryFrom = opendir("to1");
$n=0;
// считаем в массив имена файлов из to1
while(FALSE !== ($entryName = readdir($myDirectoryFrom))) {
$masNameFrom[$n] = $entryName;
$n++;
}
// сосчитаем количество элементов в массиве
$indexLimit = count($masNameFrom);
// для каждого имени файла повторим цикл
for($index=2; $index < $indexLimit; $index++) {

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

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

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

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

$myNewLine = ""; $slovo1 = "";
$slovo2 = "";
$myLine = "";


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

//если в строке нет лексемы $leks_01, скопировать без изменений
if( (substr_count($myLine, $leks_01) < 1) & (substr_count($myLine, $leks_02) < 1)) {

//если в строке нет лексемы $leks_03, скопировать без изменений
if(substr_count($myLine, $leks_03) < 1 ){

fputs($myFileTo, "$myLine");
continue;
}
else{
$slovo1 = strtok($myLine, $leks_03); // $q = ' (обрез справа)
$slovo2 = strstr($myLine, $leks_03); //(обрез слева) $q = '
// сделаем конкатенацию
$myNewLine = "$slovo1$rep1$slovo2$rep2";
fputs($myFileTo, $myNewLine);
continue;
}
}
if(substr_count($myLine, $leks_01) < 1 ) {
$slovo1 = strtok($myLine, $leks_02); // $q .= &quot; (обрез справа)
$slovo2 = strstr($myLine, $leks_02); //(обрез слева) $q .= &quot;
// сделаем конкатенацию
$myNewLine = "$slovo1$rep1$slovo2$rep2";
fputs($myFileTo, $myNewLine);
}
else{
$slovo1 = strtok($myLine, $leks_01); // $q .= &quot; (обрез справа)
$slovo2 = strstr($myLine, $leks_01); //(обрез слева) $q .= &quot;
// сделаем конкатенацию
$myNewLine = "$slovo1$rep1$slovo2$rep2";
fputs($myFileTo, $myNewLine);

}

}

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

}//end for

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

?>


Вверх

Обновлено 05.05.2011 08:00