| 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 |
|