@在这个PHP做什么?

时间:2009-08-02 09:54:04

标签: php

// 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中做了什么?

3 个答案:

答案 0 :(得分:17)

Error Control Operator,它将屏蔽(防止显示)getimagesize函数可能产生的任何错误。

使用它通常不被认为是一种好习惯:它使您的代码更难以调试(如果有错误,您将无法了解它)

  

目前“@”错误控制   运营商前缀甚至会禁用   错误报告严重错误   这将终止脚本执行。   除此之外,这意味着如果   你使用“@”来抑制a的错误   某些功能,或者不是   可用或有错误的,   脚本将死在那里没有   指示为什么。

甚至还有一个名为scream的PHP扩展,它禁用了这个操作符 - 当你维护一个很多使用这个操作符的应用程序时,它非常有用......

通常情况下,最好设置error_reportingsee also)级别和display_errors,以便在开发过程中显示错误,而不是在生产中 - 这种方式总是更有用隐藏他们!

答案 1 :(得分:10)

它可以阻止显示错误和/或从特定函数调用中记录错误。

答案 2 :(得分:0)

它可以抑制出现的错误。如果要调用的命令有错误或警告状态,则不会在页面中显示任何打印输出。您还可以看到它与mysql_ *例程一起使用。