2010-04-16 47 views
7

我討厭谷歌無法搜索符號。我在一些示例代碼看到這個,不知道爲什麼會有ReadFile函數前一個@符號:@readfile在PHP中?

@readfile($filename); 

是什麼意思不同的沒有一個@符號?

+1

另外,作爲下次每遇到一個符號的時候,請嘗試拼寫出來,也就是說,在'符號'處,您可以找到更多結果。 – 2010-04-16 16:30:02

+3

另外,PHP有一個相當不錯的在線幫助。大多數情況下,您可以簡單地執行'http://php.net/ [something]'並進入正確的頁面。是的,在這種情況下,'[something]'實際上可以是'@':http://php.net/@ – Joey 2010-04-16 16:33:36

+0

使用這個時候,你可以考慮將這個問題重新命名爲「@readfile()」 – RSK 2010-04-16 19:12:23

回答

15

一個@之前在PHP中的命令意味着沒有錯誤打印。它被稱爲error control operator

如果您刪除了@readfile會遇到錯誤(例如無法讀取文件),則根據您的PHP設置,錯誤消息將位於您的網站內容中;如果有的話,你很少會想要的東西。 (更糟糕,甚至,如果header()start_session()呼叫之前出現這種情況,因爲一旦內容被髮送,頭部不能再寫入。)

3

@表示「不顯示錯誤/警告」

7

我指的@是「stfu操作符」。