// Get the image information and display the image:
if ($image = @getimagesize ("../uploads/$pid")) {
echo "<div align=\"center\"><img src=\"show_image.php?image=$pid&name=" . urlencode($row['image_name']) . "\" $image[3] alt=\"{$row['print_name']}\" /></div>\n";
} else {
echo "<div align=\"center\">No image available.</div>\n";
}
@在@getimagesize中做了什么?
答案 0 :(得分:17)
Error Control Operator,它将屏蔽(防止显示)getimagesize
函数可能产生的任何错误。
使用它通常不被认为是一种好习惯:它使您的代码更难以调试(如果有错误,您将无法了解它):
目前“@”错误控制 运营商前缀甚至会禁用 错误报告严重错误 这将终止脚本执行。 除此之外,这意味着如果 你使用“@”来抑制a的错误 某些功能,或者不是 可用或有错误的, 脚本将死在那里没有 指示为什么。
甚至还有一个名为scream的PHP扩展,它禁用了这个操作符 - 当你维护一个很多使用这个操作符的应用程序时,它非常有用......
通常情况下,最好设置error_reporting
(see also)级别和display_errors
,以便在开发过程中显示错误,而不是在生产中 - 这种方式总是更有用隐藏他们!
答案 1 :(得分:10)
它可以阻止显示错误和/或从特定函数调用中记录错误。
答案 2 :(得分:0)
它可以抑制出现的错误。如果要调用的命令有错误或警告状态,则不会在页面中显示任何打印输出。您还可以看到它与mysql_ *例程一起使用。