我討厭谷歌無法搜索符號。我在一些示例代碼看到這個,不知道爲什麼會有ReadFile函數前一個@符號:@readfile在PHP中?
@readfile($filename);
是什麼意思不同的沒有一個@符號?
我討厭谷歌無法搜索符號。我在一些示例代碼看到這個,不知道爲什麼會有ReadFile函數前一個@符號:@readfile在PHP中?
@readfile($filename);
是什麼意思不同的沒有一個@符號?
一個@
之前在PHP中的命令意味着沒有錯誤打印。它被稱爲error control operator。
如果您刪除了@
和readfile
會遇到錯誤(例如無法讀取文件),則根據您的PHP設置,錯誤消息將位於您的網站內容中;如果有的話,你很少會想要的東西。 (更糟糕,甚至,如果header()
或start_session()
呼叫之前出現這種情況,因爲一旦內容被髮送,頭部不能再寫入。)
It is PHP's error suppression operator.有了它,你可以取消錯誤消息。
提示:
根本就不具有速度關鍵代碼使用錯誤抑制操作。
未來:
因爲@
運營商是非常緩慢的,它不會ini_set
例如@ini_set
在PHP如PHP6的
重要的閱讀未來的版本中運行
@表示「不顯示錯誤/警告」
這是error control operator。手冊會告訴你一切...
我指的@是「stfu操作符」。
另外,作爲下次每遇到一個符號的時候,請嘗試拼寫出來,也就是說,在'符號'處,您可以找到更多結果。 – 2010-04-16 16:30:02
另外,PHP有一個相當不錯的在線幫助。大多數情況下,您可以簡單地執行'http://php.net/ [something]'並進入正確的頁面。是的,在這種情況下,'[something]'實際上可以是'@':http://php.net/@ – Joey 2010-04-16 16:33:36
使用這個時候,你可以考慮將這個問題重新命名爲「@readfile()」 – RSK 2010-04-16 19:12:23