Kilépés: Kezdő oldalra. | Kilépés: PHP kezdő oldalra. | Kilépés: JavaScript kezdő oldalra. |
---|
if (is_dir($dir)) --- Ellenőrzi, hogy a megadott könyvtár létezik vagy nem. ( true vagy false )
Példa: $dir = "."; // Itt határozzuk meg, a kiválasztott könyvtár elérési útvonalát. (URL). if (is_dir($dir)) { echo 'A keresett könyvtár, létezik!';} else { echo 'A keresett könyvtár, nem található! Vagy hibás az URL meghatározás.';}
opendir() = Nyisson meg egy könyvtárat, tömb formátumba olvassa be a tartalmát.
opendir(path, context)
path: Kötelező. Megadja a megnyitandó könyvtár elérési útját.
context: Választható. Megadja a címtárleíró kontextusát. A kontextus olyan opciók halmaza, amelyek módosíthatják az adatfolyam viselkedését
readdir() = Sorolja fel az összes tömb formátumba tárolt bejegyzést.
readdir(dir)
dir: Választható. Megadja a korábban opendir()-rel megnyitott könyvtárkezelő erőforrást.
Ha ez a paraméter nincs megadva, akkor a rendszer az opendir() által utoljára megnyitott hivatkozást feltételezi
Az opendir elérési útvonalak (URL) meghatározásai: ( xxxx -ek helyére írjuk, a keresett könyvtár nevét. )
$dir = "."; --- Az a könyvtár, melyben a lekérdező fájl is jelen van.
$dir = "xxxx"; --- Az a "könyvtár", mely azon könyvtárban van, melyben a lekérdező fájl is jelen van.
$dir = "../xxxx"; --- Az a "könyvtár", mely azon könyvtáron kívül van, melyben a lekérdező fájl szerepel.
$konyvtar = opendir($dir)
<?php // Megjegyzés: // Ha az URL egy pont, "."; --- Akkor az a könyvtár, melyben a lekérdező fájl is, jelen van. $dir = "."; // Keresett könyvtár elérési útvonala, URL-je echo 'Könyvtár URL-je: '.$dir.'<br><br>'; // is_dir($dir) ---- Keresett könyvtár létezik vagy nem. ( true vagy false ) // opendir($dir) --- Nyissa meg a megadott könyvtárat, tartalmát tömb formátumba tárolja. // readdir($dh) --- Tömb formátumba tárolt tartalmat, olvassa el. $Ds=0; if (is_dir($dir)){ echo '<b>Tartalma:</b><br>'; if ($mf = opendir($dir)){ while (($DirAdat = readdir($mf)) !== false){ // Könyvtárban tárolt adatok, kiíratása. echo "Nev".$Ds.": " . $DirAdat . "<br>"; $Ds++; } closedir($mf); // Megnyitott " $mf " munkafolyamat bezárása. } } else {echo 'A keresett könyvtár, nem létezik! Vagy hibás az URL meghatározás';} ?>
---------- Fenti program eredménye.----------
Könyvtár URL-je: .Első példa eredményénél, az útvonal meghatározástól függ, hogy a " Nev: . " és " Nev: .. " az elérési útvonal jelölését szemlélteti, ez nem a lekért könyvtár tartalma.
Második példában, csak a lekért könyvtár (mappa) tartalmát íratjuk ki. Az egy és kettő pontot tartalmazó adatokat, nem íratjuk ki.
<?php // Megjegyzés: // Ha az URL egy pont, "."; --- Akkor az a könyvtár, melyben a lekérdező fájl is jelen van. $dir = "."; // Keresett könyvtár elérési útvonala, URL-je echo 'Könyvtár URL-je: '.$dir.'<br><br>'; $Ds=0; if (is_dir($dir)){ echo '<b>Tartalma:</b><br>'; if ($mf = opendir($dir)){ while (($DirAdat = readdir($mf)) !== false){ $pont1="."; $pont2=".."; if($DirAdat!==$pont1 AND $DirAdat!==$pont2) { echo "Nev".$Ds.": " . $DirAdat . "<br>"; $Ds++; } // Könyvtárban tárolt adatok, kiíratása. } closedir($mf); // Megnyitott " $mf " munkafolyamatot, zárja be. } } else { echo 'A keresett könyvtár, nem létezik!<br> Vagy hibás az URL meghatározás'; } ?>
---------- Fenti program eredménye.----------
Könyvtár URL-je: .Kapott adatokat jobban áttekinhessük, vizuálísan is kiírathatjuk az adatokat, ha eltérő színekkel kiemeljük azokat.
Vizuálís válogatáshoz meghatározhatunk kiterjesztéseket, változóhoz rendeléssel.
$kn0="error_log";
$kp1="."; $kp2="..";
$k0=".htm"; $k1=".html"; $k2=".css"; $k3=".js"; $k4=".php";
$k5=".jpg"; $k6=".gif"; $k7=".png";
$k8=".mp3"; $k9=".mp4";
$k10=".vtt"; $k11=".dat"; $k12=".txt"; $k15=".docx"; $kDb=".db";
Kiemelő színek meghatározása:
<style>
.szin1{font-weight: bold; background-color: yellow; border:2px solid orange; padding-right: 2px; padding-left: 2px;}
.szin2{font-weight: normal; color: blue; padding-right: 5px; padding-left: 5px;}
.szin3{font-weight: normal; background-color: #ccff33; padding-right: 5px; padding-left: 5px;}
.szin4{font-weight: normal; background-color: aqua; padding-right: 5px; padding-left: 10px;}
.szin5{font-weight: normal; background-color: wheat; padding-right: 5px; padding-left: 15px;}
</style>
Csoportosítás:
Könyvtárak (Mappák) = szin1
$k0; $k1; $k2; $k3; $k4;) = szin2 --- ( Web fájlok )
$k5; $k6; $k7; = szin3 --- ( Fotó fájlok )
$k15; = szin4 --- ( Word fájlok )
Valami = szin5 --- ( Minden más, amit nem választottunk ki. )
Csoportba rendezett változóknak, eltérő színt határozunk meg.
------ Mappa kiemelése = szin1 -------
------ Web típusú fájlok kiemelése = szin2 -------
------ Kép fájl kiemelése = szin3 -------
------ Word fájl kiemelése = szin4 -------
------ Nem kiválasztottak = szin5 -------
<?php $dir = "."; // Keresett könyvtár elérési útvonala, URL-je echo 'Könyvtár URL-je: '.$dir.'<br><br>'; $Ds=0; if (is_dir($dir)){ echo '<b>Tartalma:</b><br><br>'; if ($mf = opendir($dir)){ while (($DirAdat = readdir($mf)) !== false){ $strh = strlen($DirAdat); if($strh>2){ $Letezok[$Ds] = $DirAdat; $Ds++;} // Minden létező mappa és fájl, ami a könyvtárban van. } closedir($mf); // Megnyitott munkafolyamatot, zárja be. } // Kiválogatáshoz, a szükséges kiterjesztések meghatározása. $k0=".htm"; $k1=".html"; $k2=".css"; $k3=".js"; $k4=".php"; $k5=".jpg"; $k6=".gif"; $k7=".png"; $k15=".docx"; $idsz=1; $ki=0; foreach($Letezok as $index => $adat) { $KT = strstr($adat, "."); $nevhossz = strlen($adat); $PontVan = strpos ($adat, "."); // $kktomb[] tárolja a könyvtárban talált, további könyvtárakat. if($nevhossz>2){ if($PontVan == false){ $kktomb[$ki]=$adat; $ki++; echo $idsz.' = <span class="szin1">'.$adat.'</span><br>';} else if($k0==$KT OR $k1==$KT OR $k2==$KT OR $k3==$KT OR $k4==$KT){ echo $idsz.' = <span class="szin2">'.$adat.'</span><br>';} else if($k5==$KT OR $k6==$KT OR $k7==$KT){ echo $idsz.' = <span class="szin3">'.$adat.'</span><br>';} else if($k15==$KT){ echo $idsz.' = <span class="szin4">'.$adat.'</span><br>';} else{echo $idsz.' = <span class="szin5">'.$adat.'</span><br>';} $idsz++; } } $Ktksz= count($kktomb); // Könyvtárban talált, további könyvtárak (mappák) száma. echo '<br>Könyvtárban talált,<br> mappák száma = '.$Ktksz; } else {echo 'A keresett könyvtár, nem létezik!<br> Vagy hibás az URL meghatározás!';} ?>
---------- A fenti program eredménye. ----------
<!DOCTYPE html> <html lang="hu"> <head> <meta charset="UTF-8"> <title>Opendir</title> <link href="xxxxxx.css" rel="stylesheet" type="text/css" /> <style> .opentabla{width:95%; margin-right: auto; margin-left: auto; border: 4px outset blue;} .opentabla td{vertical-align:top; font-size: 14px; font-family: Times New Roman; font-weight: normal; padding: 5px;} .szinx{font-weight: bold; background-color: gray; color: white; padding-right: 2px; padding-left: 2px;} .szin1{font-weight: bold; background-color: yellow; border:2px solid orange; padding-right: 2px; padding-left: 2px;} .szin2{font-weight: normal; color: blue; padding-right: 5px; padding-left: 5px;} .szin3{font-weight: normal; background-color: #ccff33; padding-right: 10px; padding-left: 20px;} .szin4{font-weight: normal; background-color: aqua; padding-right: 5px; padding-left: 10px;} .szin5{font-weight: normal; background-color: wheat; padding-right: 5px; padding-left: 20px;} </style> </head> <body> <h1>Opendir teszt.</h1> <table border="1" cellpadding="5" cellspacing="2" class="opentabla"> <tr> <th>Lekérdezett könyvtárban lévő<br> mappák és fájlok.</th> <th>Könyvtárban talált,<br>könyvtárak.</th> <th>Lekérdezett könyvtárban lévő,<br>további könyvtárak tartalma.</th> </tr> <tr> <td><p> <?php $dir = "."; // Itt határozzuk meg, keresett könyvtár elérési útvonalát, URL-jét. echo 'Kiválasztott: '.$dir.'<br><br>'; $Tmunka=0; if (is_dir($dir)){ $Ls=0; if ($mf = opendir($dir)){ while(false !== ($mfnev = readdir($mf))) { $Letezok[$Ls] = $mfnev; $Ls++; } closedir($mf); } $Tmunka=1; // További munka feltételének értéke. } else { echo '<mark>A keresett '.$dir.' könyvtár, nem létezik!<br> Vagy hibás az URL meghatározás!</mark><br>'; } if($Tmunka==1){ // Kiemeléshez, kiterjesztések meghatározása. $k0=".htm"; $k1=".html"; $k2=".css"; $k3=".js"; $k4=".php"; $k5=".jpg"; $k6=".gif"; $k7=".png"; $k8=".mp3"; $k9=".mp4"; $k10=".vtt"; $k11=".dat"; $k12=".txt"; $k13=".db"; $k15=".docx"; $k16=".xml"; foreach($Letezok as $index => $adat) { $KT = strstr($adat, "."); // Kiemeléshez, kiterjesztések beazonosítás. $pont1='.'; $pont2='..'; // Elérési útvonalak mintája. $kdr1=$dir; $kdr2='/'.$adat; $cutv=$kdr1.$kdr2; $control=is_dir($cutv); // Az adat = könyvtár? ( igen vagy nem ) if($adat==$pont1 OR $adat==$pont2) { echo '<span class="szinx">'.$index.'</span> = <span class="szinx">'.$adat.'</span><br>'; } else if($control== true) { echo $index.' = <span class="szin1">'.$adat.'</span><br>'; } else if($k0==$KT OR $k1==$KT OR $k2==$KT OR $k3==$KT OR $k4==$KT) { echo $index.' = <span class="szin2">'.$adat.'</span><br>'; } else if($k5==$KT OR $k6==$KT OR $k7==$KT) { echo $index.' = <span class="szin3">'.$adat.'</span><br>'; } else if($k8==$KT OR $k9==$KT) { echo $index.' = <span class="szin3">'.$adat.'</span><br>'; } else if($k15==$KT OR $k16==$KT) { echo $index.' = <span class="szin4">'.$adat.'</span><br>'; } else if($k10==$KT OR $k11==$KT OR $k12==$KT OR $k13==$KT) { echo $index.' = <span class="szin5">'.$adat.'</span><br>'; } else{ echo $index.' = <b>'.$adat.'</b><br>'; } } echo'</p></td><td><p>'; // Mappák kiválogatása. File nem kell. $ssz=0; foreach($Letezok as $index => $adat) { $M1 = $dir; $M2 = '/'.$adat; $UTV = $M1.$M2; if (is_dir($UTV)) { $VM = 1; } // Mappa, akkor feltétel értéke = 1 else{ $VM = 0; } // Nem mappa, akkor feltétel értéke = 0 $st1="."; $st2=".."; // Minták. Ha az adat, csak egy vagy kettő pont, akkor nem kell. if($VM ==1 AND $adat!=$st1 AND $adat!=$st2) { $CsMappak[$ssz]=$adat; echo $ssz.' = <span class="szin1">'.$adat.'</span><br>'; $ssz++; } } $Mappakszama=$ssz; if($Mappakszama == false) { echo'Nincs talált mappa <br>'; } echo '<br><br>Találtak száma = '.$Mappakszama; echo'</p></td><td><p>'; // ------ Könyvtárban talált könyvtárak, útvonalának meghatározása. for($i=0; $i<$Mappakszama; $i++){ $Mappa1 = $dir; $Mappa2 = '/'.$CsMappak[$i]; // A tömb [0] elem tartalmazza, az első talált mappa nevét. $Eutvonal = $Mappa1.$Mappa2; echo '<br><br><b>Útvonal = '.$Eutvonal.'<b><br>'; // Függvény meghívása, paraméter átadással. Feldolgozas($Eutvonal); } } // Tmunka Feltétel lezárása. // ------------------------------------------------------ function Feldolgozas($Eutvonal) { $MKonyvtar = opendir($Eutvonal); // Könvtárban talált. Másik Könyvtár, útvonala. while(false !== ($mfnev = readdir($MKonyvtar))) { $LetezokM0[] = $mfnev; } closedir($MKonyvtar); // Kiemeléshez szükséges kiterjesztések meghatározása. $k0=".htm"; $k1=".html"; $k2=".css"; $k3=".js"; $k4=".php"; $k5=".jpg"; $k6=".gif"; $k7=".png"; $k8=".mp3"; $k9=".mp4"; $k10=".vtt"; $k11=".dat"; $k12=".txt"; $k13=".db"; $k15=".docx"; $k16=".xml"; $idsz=1; foreach($LetezokM0 as $index => $mappa) { $KT = strstr($mappa, "."); // Kiterjesztés meghatározása. $nevhossz = strlen($mappa); // Az adat hossza. if($nevhossz>2){ if($k0==$KT OR $k1==$KT OR $k2==$KT OR $k3==$KT OR $k4==$KT) { echo $idsz.' = <span class="szin2">'.$mappa.'</span><br>'; } else if($k5==$KT OR $k6==$KT OR $k7==$KT) { echo $idsz.' = <span class="szin3">'.$mappa.'</span><br>'; } else if($k8==$KT OR $k9==$KT) { echo $idsz.' = <span class="szin3">'.$mappa.'</span><br>'; } else if($k15==$KT OR $k16==$KT) { echo $idsz.' = <span class="szin4">'.$mappa.'</span><br>'; } else if($k10==$KT OR $k11==$KT OR $k12==$KT OR $k13==$KT) { echo $idsz.' = <span class="szin5">'.$mappa.'</span><br>'; } else{ echo $idsz.' = <span class="szin1">'.$mappa.'</span><br>'; } $idsz++; } } } ?> </p></td> </tr></table>
Kiemelő színek, és értelmezésük:
1. ------ Elérési útvonalak ( . vagy .. ) = szinx -------
2. ------ Mappa kiemelése = szin1 -------
3. ------ Web típusú fájlok kiemelése = szin2 -------
4. ------ Kép és zenei fájl kiemelése = szin3 -------
5. ------ Word fájl kiemelése = szin4 -------
6. ------ Adattárolók: ".vtt"; ".dat"; ".txt"; ".db"; = szin5 -------
Lekérdezett könyvtárban lévő mappák és fájlok. |
Könyvtárban talált, könyvtárak. |
Lekérdezett könyvtárban lévő, további könyvtárak tartalma. |
---|---|---|
Kiválasztott: . | 0 = images |
|