Witam wszystkich. Mam prosbe - moj wykładowca na zaliczenie walnal mi taki kawałek kodu i kazał mi go wyjaśnić, ale ja jestem zielona z PHP i dlatego proszę Was o pomoc. Wiem ze nie ma nic za darmo ale moze zlitujecie sie nade mna, ja napawd enie wiem nawet czym to sie je.
Czy ktoś mógłby mi wytłumaczyć w miarę możliwości o co chodzi w tym kodzie od początku? bardzo bym prosiła !
pomozcie - Kamila.
<?php
function drzewko($folder) {
global $pliki;
if($folder[strlen($folder)-1] != "/") {
$folder .= "/";
}
$id_f = opendir($folder);
if($id_f) {
while($plik = readdir($id_f)) {
if($plik == '.' || $plik == '..') {
continue;
}
if(is_dir($folder . $plik)) {
drzewko($folder . $plik);
} else {
$pliki[] = $folder . $plik;
}
}
closedir($id_f);
}
return $pliki;
}
function czytelne($spis) {
$rozszerzenie[] = "txt";
foreach($rozszerzenie as $roz) {
$dl_roz = strlen($roz);
foreach($spis as $plik) {
if(substr($plik, -$dl_roz) == $roz) {
$wynik[] = $plik;
}
}
}
return $wynik;
}
if(isset($szukane) && $szukane != '') {
$szukane = ereg_replace("[\*\.\$/]", "", $szukane);
$szukane_slowa = split("\ ", $szukane);
array_unshift($szukane_slowa, $szukane);
$ile_slow = count($szukane_slowa);
unset($szukane);
$pliki = drzewko("./../wyk/pliki/");
$czytelne = czytelne($pliki);
unset($pliki);
sort($czytelne);
foreach($czytelne as $plik) {
$id_pliku = fopen($plik, "r");
$zawartosc = fread($id_pliku, filesize($plik));
for($i=0; $i < $ile_slow; $i++) {
if(ereg($szukane_slowa[$i], $zawartosc)) {
$trafienia[] = $folder .$plik;
}
}
fclose($id_pliku);
}
if(!isset($trafienia)) {
echo 'brak pliku ktory spełnia kryteria';
} else {
$trafienia = array_unique($trafienia);
sort($trafienia);
echo'słowo znajduje się w pliku:';
foreach($trafienia as $pojedyncze) {
echo ' <b>';
$poj=" ";
for($i=22; $i<=strlen($pojedyncze);$i++)
{
$poj=$poj.$pojedyncze[$i];
}
$odej_n = substr($poj, 0, -5 );
echo '<font class="normal">
<a href=" '.' ../wyk/pliki/'.$odej_n.'" target="_new">'.$odej_n.'</a>
</font>';
echo' </font><br> ';
}
}
} else {
echo 'Proszę podać tekst !';
}
?>
</b>