Gestionarea fișierelor și directoarelor
Mutarea unui fișier
Pentru mutarea unui fișier se folosește funcția rename():
<?php
if (!rename("hello.txt", "subdir/hello.txt"))
echo "Eroare la mutarea fișierului";
else echo "Fișierul a fost mutat";
?>
Dacă în directorul fișierului hello.txt există subdirectorul subdir, fișierul va fi mutat în acesta. Dacă fișierul a fost mutat cu succes, funcția va returna valoarea true.
Copierea unui fișier
Pentru copierea unui fișier se folosește funcția copy(). Ea primește numele fișierului de copiat și numele copiei fișierului. Și dacă copierea a reușit, returnează valoarea true:
<?php
if (copy("hello.txt", "hello_copy.txt"))
echo "Copia fișierului a fost creată";
else echo "Eroare la copierea fișierului";
?>
Ștergerea unui fișier
Pentru ștergerea unui fișier se folosește funcția unlink, care primește numele fișierului și returnează valoarea true la ștergerea cu succes a fișierului:
<?php
if (unlink("hello_copy.txt"))
echo "Fișierul a fost șters";
else echo "Eroare la ștergerea fișierului";
?>
Crearea unui director
Pentru crearea unui director se folosește funcția mkdir():
if(mkdir("newdir"))
echo "Directorul a fost creat";
else
echo "Eroare la crearea directorului";
În acest caz, mkdir creează un nou director "newdir" în directorul curent. Dacă crearea reușește, funcția returnează valoarea true, altfel - false.
Pentru a crea un nou director în directorul rădăcină se poate folosi expresia mkdir("/newdir").
Ștergerea unui director
Pentru ștergerea unui director se folosește funcția rmdir(). Utilizarea ei este similară cu mkdir():
if(rmdir("newdir"))
echo "Directorul a fost șters";
else
echo "Eroare la ștergerea directorului";
Operațiuni cu directoare
Pentru a obține calea absolută către directorul curent se folosește funcția getcwd(), care returnează calea sub formă de șir de caractere:
$path = getcwd();
echo $path; // C:\localhost
uncția opendir() deschide un anumit director pentru a citi informații despre fișiere și directoare din acesta. La deschiderea cu succes a directorului, funcția returnează descriptorul directorului deschis.
După terminarea lucrului cu directorul, acesta trebuie închis cu funcția closedir().
Pentru citirea numelui unui fișier individual din directorul deschis se folosește funcția readdir().
Acum combinăm aceste funcții și afișăm pe pagină toate fișierele și subdirectoarele din directorul curent:
<?php
$dir = getcwd(); // obținem directorul curent
if (is_dir($dir)) // verificăm dacă calea este un director
{
if ($dh = opendir($dir)) // deschidem directorul
{
// citim câte un fișier sau subdirector
// până ajungem la sfârșit
while (($file = readdir($dh)) !== false)
{
// sărim peste simbolurile . și ..
if($file=='.' || $file=='..') continue;
// verificăm dacă este director sau fișier
if(is_dir($file)) echo "director: $file <br>";
else echo "fișier: $file <br>";
}
closedir($dh); // închidem directorul
}
}
?>
Acest script va lista toate fișierele și directoarele din directorul curent, excluzând punctele "." și "..", care reprezintă directorul curent și cel părinte.