back to top

Verificare file e cartelle con PHP: is_file, is_dir, file_exists

PHP è un linguaggio di scripting completo, tra le sue possibilità vi è anche quella di interagire con il filesystem del server sul quale sta girando. Grazie a questa interazione è possibile lavorare con le cartelle e con i file sia in lettura che in scrittura. Le funzioni native che PHP offre per la manipolazione del filesystem sono molteplici, ma in questa sede ci limiteremo ad analizzare le fondamentali.

Nelle prossime lezioni vedremo come utilizzare PHPO per svolgere i compiti più comuni di interazione col filesystem, ma in questa lezione passeremo in rassegna le cosidette funzioni di verifica cioè quelle funzioni che consentono allo sviluppatore di verificare se una data risorsa esiste, è un file oppure una cartella.

is_dir

Consente di verificare se un percorso esistente è una valida cartella

$path = 'foto';
if (is_dir($path)) {
  echo $path . ' è una cartella';
}else{
  echo $path . ' NON è una cartella';
}

is_file

Consente di verificare se un percorso esistente è un file

$path = 'miofile.txt';
if (is_file($path)) {
  echo $path . ' è un file';
}else{
  echo $path . ' NON è un file';
}

file_exists

Consente di verificare se un dato file o una data cartella esiste

$path = 'miofile.txt';
if (file_exists($path)) {
  echo 'il file esiste';
}else{
  echo 'il file NON esiste';
}

Nelle prossime lezioni della nostra guida a PHP vedremo come effettuare varie operazioni di interazione tra PHP ed il filesystem come, ad esempio, come creare file e cartelle sul server e come scriverci dentro.

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