इस सवाल का पहले से ही एक उत्तर है: < / P>
- 13 उत्तर
मुझे फ़ाइल नाम से प्राप्त करना होगा फ़ाइल पथ स्ट्रिंग उदाहरण के लिए, इस स्ट्रिंग \ abc \ def \ filename.txt से मुझे filename.txt
प्राप्त करने की कोशिश कर रहा है regexp के साथ: < / P>
$ filepath = "abc \ filename.txt"; $ Filename = preg_replace ("/.+\\/"/""$$ फ़ाइलपथ); लेकिन यह मुझे एक त्रुटि देता है क्या आप इसे हल करने के लिए उपयोग कर सकते हैं?
आपको इसके बजाय फ़ंक्शन बेसएनाम का उपयोग करना चाहिए:
$ filepath = 'abc \ filename.txt'; $ Filename = basename ($ फ़ाइलपथ); संपादित करें: महत्वपूर्ण नोट, जब आपको अपने स्ट्रिंग्स में बैकस्लैश होते हैं, तो आपको एकल उद्धरणों का उपयोग करने की आवश्यकता होती है, अन्यथा उन्हें ठीक से बचें।
नोट: यह नहीं होगा काम:
$ filepath = "abc \ filename.txt"; $ Filename = basename ($ फ़ाइलपथ); क्योंकि आप परिवर्तनीय $ फ़ाइलपैथ वास्तव में हैं:
एबीसी [विशेष char here equaling \ f] ilename.txt
एक और संपादन: यह regex भी काम करता है ..
$ filepath = '\ def \ abc \ filename.txt'; $ Basename = preg_replace ('/^.+\\\\/', '', $ फ़ाइलपथ); जो आपके मूल में गलत था वह था कि आप सिंगल के बजाय डबल-उद्धरण थे, और बैकस्लैश को डबल से बचने की आवश्यकता है (\ \ बजाय \)।
Comments
Post a Comment