3

rmdir()は、dirが存在しない、またはアクセス許可が許可されていないなど、いくつかの警告を表示します。失敗の理由を把握してそれに対応するにはどうすればよいですか?

4

2 に答える 2

6

rmdirは例外をスローしないため、try/catchでそれらをキャッチすることはできません。できることは、error_get_last関数を使用して必要なことを実行することです。

次のようなものを試してください。

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

    if (preg_match('/something/', $error['message'])) {
        // do something
    } elseif (preg_match('/somethingelse/', $error['message'])) {
        // do something
    }
}
于 2012-02-24T22:30:44.043 に答える
1

ディレクトリが存在するかどうかや、file_exists()ディレクトリを作成できるかどうかなど、何らかのアクションを実行できるかどうかを事前に確認できます。is_ dir()fileperms()is_ writable()

例外を除いて、エラーを「キャッチ」することもできます。カスタムエラーハンドラを指定することもできますが、これは少しやり過ぎのようです。

于 2012-02-24T22:22:03.837 に答える