PHP 的 file_get_contents 容易报 Notice 级别的错误,一旦出现错误,不好控制流程。下面有个不错的方法
set_error_handler( create_function( '$severity, $message, $file, $line', 'throw new ErrorException($message, 0, $severity, $file, $line);' ) ); try { file_get_contents('url'); } catch (Exception $e) { echo $e->getMessage(); } restore_error_handler();
还有种更加简单的方法,通过判断返回值 === false。