【发布时间】:2014-07-16 19:45:09
【问题描述】:
我有以下代码,该文件是一个 ajax 调用:
try {
echo json_encode(exif_read_data($_POST["url"]));
} catch (Exception $e) {
echo "Invalid URL";
}
它的目的是接受一个图像 url 并返回 JSON 编码的 EXIF 数据,当有一个“正确”的 url 时,json_encode(exif_read_data($_POST["url"])); 工作正常。
但是,当我故意在 jQuery ajax 调用 "url" : "url1" 或直接在 php 文件中 ..exif_read_data("bob") 中传递一个“错误”url 时,我在控制台日志中收到此错误:
Warning: exif_read_data() [function.exif-read-data]: Unable to open file in ../public_html/_photos/ajax/exif.php on line 3
false
【问题讨论】:
-
PHP 标准函数不会抛出异常。曾经。没有什么可以尝试/捕捉的,因为没有任何东西被抛出。这也是一个警告,而不是错误
-
我明白了,有没有办法“捕捉”这些警告?
-
快速/肮脏/丑陋的黑客,使用
@运算符。更好的解决方案:不要尝试直接用php函数打开url。