php - extract filename from path -


इस सवाल का पहले से ही एक उत्तर है: < / 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