back to top

Creare, cancellare e copiare file e cartelle con PHP

Un altro set di funzioni PHP molto interessanti sono quelle che consentono di creare e cancellare file e directory.

touch

Grazie alla funzione touch è possibile creare un file specificandono il percorso ed il nome:

touch('file-da-creare.txt');

unlink

La funzione unlink() consente di cancellare un file e restituisce true o false a seconda che l’operazione abbia successo o meno:

$file = 'miofile.txt';
if (unlink($file)) {
  echo 'il file è stato cancellato';
}else{
  echo 'il file NON è stato cancellato';
}

copy

La funzione copy() consente di copiare un file e restituisce true o false a seconda che l’operazione abbia successo o meno. Questa funzione prevede due argomenti obbligatori: il file sorgente e quello di destinazione. Vediamo un esempio:

copy('miofile.txt','filecopiato.txt');

mkdir

Grazie a mkdir() è possibile creare una cartella. Restituisce true o false a seconda che l’operazione abbia successo o meno.

$path = 'cartella-da-creare';
if(!mkdir($path)) {
  echo 'La cartella è stata creata';
}

In realtà la funzione in oggetto prevede anche altri parametri facoltativi, ma in questa sede li tralasciamo delegando a futuri approfondimenti.

rmdir

La funzione rmdir() di PHP è l’esatto contrario di mkdir(). La sua funzione è, in pratica, quella di cancellare una cartella. Perchè la funzione abbia successo (e restutuisca quindi true) è neessario che la cartella sia vuota. Non è possibile, infatti, cancellare cartelle piene.

$path = 'cartella-da-cancellare';
if(!rmdir($path)) {
  echo 'NON è stato possibile cancellare la cartella';
}
Pubblicità
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).