PDA

View Full Version : [php]creare una cartella solo se non esiste


$te
03-07-2008, 10:17
come da titolo, avevo pensato a questo:

if($dir = opendir($absolute_path ));
else{
Mkdir($absolute_path ,0777);
$dir = opendir($absolute_path );
}

pero opendir mi da errore se la cartella non esiste, quindi come faccio a controllare se la cartella esiste?
grazie

$te
03-07-2008, 10:25
il codice funziona, ma il problema é che mi visualizza il messaggio d'errore:
...failed to open dir: No such file or directory ...
ma in seguito la cartella la crea, quindi il problema é solo non visualizzare il messaggio

grazie

thehuge
03-07-2008, 11:05
[...] quindi il problema é solo non visualizzare il messaggio
Puoi usare l'operatore @. Mettendolo davanti alla chiamata di funzione inibisce i messaggi di errore.
Ad esempio:
@opendir($absolute_path )Non mostra errori in nessun caso.

Comunque il tuo codice non è proprio elegante, sarebbe meglio così:
if(!($dir = @opendir($absolute_path))) {Mkdir($absolute_path, 0777);
$dir = opendir($absolute_path);
}

ndakota
03-07-2008, 11:55
ma non puoi usare la funziona file_exists (http://it2.php.net/manual/it/function.file-exists.php)?

thehuge
03-07-2008, 12:07
ma non puoi usare la funziona file_exist()??

Certo che può :)
La funzione ideale, però, sarebbe is_dir() (http://it.php.net/manual/it/function.is-dir.php). Essa restituisce true se e solo se il file specificato esiste ed è una directory.

$te
03-07-2008, 12:56
ok! grazie!!