मेरे पास एक लॉग() विधि है और इसे स्क्रिप्ट के नाम को लॉग करना चाहते हैं जिसे इसे कहा जाता है। PHP में यह कैसे संभव है?मैं स्क्रिप्ट का नाम कैसे प्राप्त कर सकता हूं जिसे फ़ंक्शन कहा जाता है?
उत्तर
बुला पर्यावरण के आधार पर आप debug_backtrace पर एक नजर है चाहिए, और $_SERVER['PHP_SELF']
debug_backtrace()
आप एक स्टैक ट्रेस दे देंगे भी शामिल है और समारोह अब तक कॉल की, और $_SERVER['PHP_SELF']
आप वर्तमान में क्रियान्वित स्क्रिप्ट बता देंगे, जो आसान है और जो भी आप चाहते हैं उसके लिए भी काम कर सकते हैं। $_SERVER['PHP_SELF']
ब्राउज़र से बुलाया जाने वाला स्क्रिप्ट बहुत अधिक होगा, उदाहरण के लिए, यदि आपके पास blah.com/admin.php
और blah.com/articles.php
था, तो दोनों को ब्लॉग या किसी चीज़ में सहेजे गए पृष्ठों की सूची प्राप्त करने के लिए /pages.php
कहा जाता है, और कुछ गलत हो गया - लॉग आपको बताएगा कि admin.php
या articles.php
स्क्रिप्ट को कॉल कर रहा था या नहीं। लेकिन अगर pages.php
में functions.php
शामिल था जिसमें libs.php
और libs.php शामिल थे, और आप जानना चाहते थे कि functions.php
इसमें शामिल है, यह काम नहीं करेगा - लॉग अभी भी उस स्क्रिप्ट को दिखाएगा जिसमें शामिल है (admin.php
या articles.php
)। इस मामले में आप debug_backtrace()
का उपयोग करेंगे।
'debug_backtrace()' के लिए धन्यवाद। ये अदभुत है! – neoDev
आप debug_backtrace
समारोह पर एक नज़र ले जा सकते हैं: यह उत्पादन है में, आप के लिए ;-)
क्या देख रहे आप this answer को एक बार देख ले सकते हैं मैं पहले कुछ दिनों के पोस्ट, और अधिक के लिए खोजना चाहिए सूचनाएं, और एक उदाहरण।
उस लिंक में सभी 'सूचनाएं' देखें! मैं सूचना खोद रहा हूँ! lol – pythonian29033
debug_baktrace पर एक नज़र डालें।
$backtrace = debug_backtrace();
print_r($backtrace[1]);
उपयोग debug_backtrace() पूरा callstack युक्त एक साहचर्य सरणी हो और विवरण आप इसे से रुचि रखते हैं खींचने के लिए सरणी की जांच।
पहले से ही बहुत कम तकनीकी जवाब दिए गए उत्तरों के अलावा _ _ FILE _ _ या बेसनाम() को लॉगिंग की जा रही स्ट्रिंग में जोड़ना होगा। (इसे प्रदर्शित करने के लिए फ़ाइल में डबल अंडरस्कोर में रिक्त स्थान जोड़ना था)
- 1. मैं अपने पर्ल स्क्रिप्ट को निष्पादित करने वाले उपयोगकर्ता का नाम कैसे प्राप्त कर सकता हूं?
- 2. मैं जावास्क्रिप्ट फ़ंक्शन के अंदर फ़ंक्शन का नाम कैसे प्राप्त कर सकता हूं?
- 3. मैं LLNAME में CallInst से फ़ंक्शन नाम कैसे प्राप्त कर सकता हूं?
- 4. मैं एक कक्षा को "अनसेट" कैसे कर सकता हूं जिसे
- 5. मैं एक पर्ल प्रोग्राम से चल रहे प्रोग्राम के STDOUT को कैसे देख सकता हूं जिसे इसे कहा जाता है?
- 6. मैं कैसे सुनिश्चित कर सकता हूं कि बच्चे में एक सुपर विधि कहा जाता है?
- 7. मैं कैसे एक विधि को सत्यापित कर सकता हूं जिसे मोक के साथ बिल्कुल एक बार कहा जाता था?
- 8. मैं जावास्क्रिप्ट में टाइमज़ोन नाम कैसे प्राप्त कर सकता हूं?
- 9. मैं उपयोगकर्ता नेटवर्क लॉगिन नाम कैसे प्राप्त कर सकता हूं?
- 10. जब कोई तत्व क्लिक किया जाता है तो मैं बाहरी फ़ंक्शन निष्पादित कैसे कर सकता हूं?
- 11. मैं आउटपुटस्ट्रीम को कैसे कार्यान्वित कर सकता हूं जिसे मैं रिवाइंड कर सकता हूं?
- 12. पोस्टग्रेस्क्ल में: मैं एक साधारण काउंटर कैसे बना सकता हूं जिसे मैं रीसेट कर सकता हूं?
- 13. मैं स्ट्रिंग/बफर का अक्षर कैसे प्राप्त कर सकता हूं?
- 14. मैं नामस्थान और कक्षा के नाम के साथ विधि का नाम कैसे प्राप्त कर सकता हूं?
- 15. सी # में बेस कन्स्ट्रक्टर - जिसे पहले कहा जाता है?
- 16. यह धराशायी रेखा क्या है जिसे मेरे आईडीई में संरेखित कार्य ब्लॉक कहा जाता है?
- 17. मैं एक jQuery प्लगइन कैसे लिखूं जिसे `$ .myplugin.func()` कहा जाता है?
- 18. मैं प्रतिनिधि कैसे प्राप्त कर सकता हूं?
- 19. मैथमैटिका में मॉड्यूल के भीतर कॉलिंग फ़ंक्शन का नाम कैसे प्राप्त कर सकता हूं?
- 20. विम स्क्रिप्ट "इनपुट()" फ़ंक्शन जिसे उपयोगकर्ता को
- 21. कोड का हिस्सा जिसे केवल एक बार कहा जाता है - योग्यता का तरीका है?
- 22. मैं एक jQuery फ़ंक्शन का नाम और कॉल कैसे कर सकता हूं?
- 23. मैं जावास्क्रिप्ट ऑब्जेक्ट नाम कैसे सेट कर सकता हूं जो console.log में वापस आ जाता है?
- 24. मैं दुभाषिया स्टैक से बाध्य विधि के वर्ग का नाम कैसे प्राप्त कर सकता हूं?
- 25. मैं इसके मूल्य का उपयोग करके एक प्रमुख नाम (हैश में) कैसे प्राप्त कर सकता हूं?
- 26. मैं Django ऑब्जेक्ट का मॉडल का नाम या सामग्री प्रकार कैसे प्राप्त कर सकता हूं?
- 27. मैं निष्पादन जेड स्क्रिप्ट का फ़ाइल नाम कैसे प्राप्त करूं
- 28. मैं एनयूनीट के साथ जेनेरिक बेसटेस्ट कैसे बना सकता हूं जिसे मैं प्राप्त कर सकता हूं और बेस रन से परीक्षण कर सकता हूं?
- 29. मैं पर्ल में ट्रेसबैक कैसे प्राप्त कर सकता हूं?
- 30. मैं जावा में ऑब्जेक्ट का नाम कैसे प्राप्त कर सकता हूं?
http://stackoverflow.com/questions/1935867/finding-out-the-filename-that-called-my-function-in का डुप्लिकेट -php/1 9 35902 – Gordon