How to find a reason when mkdir fails from PHP?

前端 未结 3 1478
萌比男神i
萌比男神i 2020-12-01 18:05

PHP\'s mkdir function only returns true and false. Problem is when it returns false.

If I\'m running with error reporting enabled, I see the error message on the scr

3条回答
  •  情深已故
    2020-12-01 18:54

    You could use exceptions:

    Setup some code like so:

    function exception_error_handler($errno, $errstr, $errfile, $errline ) {
        throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
    }
    set_error_handler("exception_error_handler");
    

    And then just do:

    try {
       mkdir('/somedir');
    } catch(ErrorException $ex) {
       echo "Error: " . $ex->getMessage();
    }
    

    That should do what you want.

    If you want to preserve the php error handler, then after that try catch block, just call:

    restore_error_handler()
    

提交回复
热议问题