@在这个PHP做什么?

shi*_*hin 1 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"; 
    }
Run Code Online (Sandbox Code Playgroud)

@在@getimagesize做什么?

Pas*_*TIN 17

它是一个错误控制操作符,它将屏蔽(防止显示)该getimagesize函数可能生成的任何错误.

它通常不被认为是一个好的做法:它使你的代码更难调试(如果有错误,你将不知道它):

目前,"@"错误控制运算符前缀甚至会禁用将终止脚本执行的严重错误的错误报告.除此之外,这意味着如果你使用"@"来抑制来自某个函数的错误,并且它不可用或者输入错误,那么脚本就会在那里死亡而没有任何关于原因的指示.

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

通常,最好设置error_reporting(另请参见)级别,display_errors以便在开发中显示错误,而不是在生产中 - 这种方式总是隐藏它们更有用!


Jak*_*ake 10

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