2010-04-16 7 views
7

मुझे नफ़रत है कि Google प्रतीकों की खोज नहीं कर सकता है। मैं कुछ नमूना कोड में यह देखा और सोचा कि क्यों है वहाँ readfile समारोह से पहले एक @ चिह्न:php में @readfile?

@readfile($filename); 

क्या यह करने के लिए अलग-अलग मतलब है एक @ चिह्न के बिना?

+1

साथ ही, जब भी आप किसी प्रतीक पर आते हैं, तो अगली बार जब तक आप सिर पर आते हैं, तो इसे 'वर्तनी पर' करने का प्रयास करें, आप अधिक परिणाम ढूंढ पाएंगे। –

+3

इसके अलावा, PHP की एक अच्छी अच्छी ऑनलाइन सहायता है। अधिकांश भाग के लिए आप बस 'http://php.net/ [कुछ]' कर सकते हैं और सही पृष्ठ पर जा सकते हैं। और हां, इस मामले में, '[कुछ]' वास्तव में '@' हो सकता है: http://php.net/@ – Joey

+0

"@readfile()" – RSK

उत्तर

15

PHP में कमांड से पहले @ का अर्थ है कि कोई त्रुटि मुद्रित नहीं होती है। इसे error control operator कहा जाता है।

यदि आपने @ और readfile को हटा दिया है तो एक त्रुटि होगी (जैसे फ़ाइल को पढ़ने में सक्षम नहीं), फिर-आपकी PHP सेटिंग्स के आधार पर-त्रुटि संदेश आपकी साइट सामग्री के बीच होगा; कुछ आप शायद ही कभी, अगर चाहते हैं, चाहते हैं। इसके साथ (यह बदतर भी हो जाता है, क्योंकि सामग्री भेज दिया जाता है एक बार, हेडर अब और नहीं लिखा जा सकता है अगर इस header() या start_session() के लिए एक कॉल से पहले होता है।)

6

It is PHP's error suppression operator. आपको त्रुटि संदेश को दबाने कर सकते हैं।

युक्ति:

सीधे शब्दों में गति-महत्वपूर्ण कोड के साथ त्रुटि दमन ऑपरेटर का उपयोग नहीं करते।

भविष्य:

Bad uses of the @ operator:

क्योंकि @ ऑपरेटर बहुत धीमी है, इसके बारे में पीएचपी जैसे PHP6

महत्वपूर्ण पढ़ना भविष्य संस्करण में ini_set जैसे @ini_set पर काम नहीं करेगा

3

@ का अर्थ है "त्रुटियों/चेतावनियां न दिखाएं"

7

मैं @ stfu ऑपरेटर होने के रूप में @ को संदर्भित करता हूं।

संबंधित मुद्दे