Domanda

RMDIR () mostra alcuni avvertimenti come la Dir non esiste o le autorizzazioni non lo consentono. Come posso catturare quale motivo di fallimento e reagire ad esso?

È stato utile?

Soluzione

RMDIR non lancia un'eccezione, quindi non puoi prenderli con Try/Catch. Quello che puoi fare è usare error_get_last funzione per fare ciò di cui hai bisogno.

Prova qualcosa di simile:

if (!@rmdir('/root')) {
    $error = error_get_last();

    if (preg_match('/something/', $error['message'])) {
        // do something
    } elseif (preg_match('/somethingelse/', $error['message'])) {
        // do something
    }
}

Altri suggerimenti

Puoi controllare in anticipo se ti è permesso fare una sorta di azione come file_exists() e is_ dir() Per verificare se esiste una directory e fileperms() o solo is_ writable() Per verificare se puoi scrivere una directory.

Puoi anche provare a "catturare" l'errore come con le eccezioni. Puoi specificare un gestore di errori personalizzato, ma questo sembra essere un po 'eccessivo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top