जवाबों:
तुम खोज रहे हो basename
।
PHP मैनुअल से उदाहरण:
<?php
$path = "/home/httpd/html/index.php";
$file = basename($path); // $file is set to "index.php"
$file = basename($path, ".php"); // $file is set to "index"
?>
pathinfo
अधिक basename
के रूप में Metafaniel नीचे दर्ज किया। pathinfo()
आपको पथ के भागों के साथ एक सरणी देगा। या यहाँ मामले के लिए, आप केवल फ़ाइल नाम के लिए विशेष रूप से पूछ सकते हैं। तो pathinfo('/var/www/html/index.php', PATHINFO_FILENAME)
लौटना चाहिए 'index.php'
पीएचपी Pathinfo प्रलेखन
PATHINFO_BASENAME
पूर्ण प्राप्त करना चाहते हैं index.php
। PATHINFO_FILENAME
आपको दे देंगे index
।
mb_substr($filepath,mb_strrpos($filepath,'/',0,'UTF-16LE'),NULL,'UTF-16LE')
- बस अपने फाइलसिस्टम (NTFS और
मैंने इसे फ़ंक्शन का उपयोग करके किया है PATHINFO
जो आपके उपयोग के लिए पथ के कुछ हिस्सों के साथ एक सरणी बनाता है! उदाहरण के लिए, आप यह कर सकते हैं:
<?php
$xmlFile = pathinfo('/usr/admin/config/test.xml');
function filePathParts($arg1) {
echo $arg1['dirname'], "\n";
echo $arg1['basename'], "\n";
echo $arg1['extension'], "\n";
echo $arg1['filename'], "\n";
}
filePathParts($xmlFile);
?>
यह लौटेगा:
/usr/admin/config
test.xml
xml
test
इस फ़ंक्शन का उपयोग PHP 5.2.0 के बाद से उपलब्ध है!
फिर आप सभी भागों को आवश्यकतानुसार जोड़ सकते हैं। उदाहरण के लिए, पूर्ण पथ का उपयोग करने के लिए, आप यह कर सकते हैं:
$fullPath = $xmlFile['dirname'] . '/' . $xmlFile['basename'];
basename
समारोह आप देना चाहिए कि आप क्या चाहते:
किसी फ़ाइल में पथ वाले स्ट्रिंग को देखते हुए, यह फ़ंक्शन फ़ाइल का आधार नाम वापस कर देगा।
उदाहरण के लिए, मैनुअल के पृष्ठ को उद्धृत करना:
<?php
$path = "/home/httpd/html/index.php";
$file = basename($path); // $file is set to "index.php"
$file = basename($path, ".php"); // $file is set to "index"
?>
या, आपके मामले में:
$full = 'F:\Program Files\SSH Communications Security\SSH Secure Shell\Output.map';
var_dump(basename($full));
आपको मिलेगा:
string(10) "Output.map"
फ़ाइल नाम और एक्सटेंशन प्राप्त करने के कई तरीके हैं। आप निम्नलिखित का उपयोग कर सकते हैं जो उपयोग करना आसान है।
$url = 'http://www.nepaltraveldoor.com/images/trekking/nepal/annapurna-region/Annapurna-region-trekking.jpg';
$file = file_get_contents($url); // To get file
$name = basename($url); // To get file name
$ext = pathinfo($url, PATHINFO_EXTENSION); // To get extension
$name2 =pathinfo($url, PATHINFO_FILENAME); // File name without extension
SplFileInfo के साथ :
SplFileInfo SplFileInfo वर्ग एक व्यक्तिगत फ़ाइल के लिए जानकारी के लिए एक उच्च-स्तरीय ऑब्जेक्ट उन्मुख इंटरफ़ेस प्रदान करता है।
Ref : http://php.net/manual/en/splfileinfo.getfilename.php
$info = new SplFileInfo('/path/to/foo.txt');
var_dump($info->getFilename());
o / p: string (7) "foo.txt"
बेसनैम () में चीनी जैसे एशियाई पात्रों को संसाधित करते समय एक बग होता है।
मैं इसका उपयोग करता हूं:
function get_basename($filename)
{
return preg_replace('/^.+[\\\\\\/]/', '', $filename);
}
Caution basename() is locale aware, so for it to see the correct basename with multibyte character paths, the matching locale must be set using the setlocale() function.
:। लेकिन मैं भी preg_replace का उपयोग करने के लिए पूर्वनिर्धारित करता हूं, क्योंकि ऑपरेटिंग सिस्टम के बीच निर्देशिका विभाजक भिन्न होता है। उबंटू `\ _ पर एक अलग विभाजक नहीं है और बेसन का इस पर कोई प्रभाव नहीं पड़ेगा।
सबसे कम लाइनों में ऐसा करने के लिए, मैं पथ में भागों को अलग करने के लिए अंतर्निहित DIRECTORY_SEPARATOR
निरंतर का उपयोग करने का सुझाव explode(delimiter, string)
दूंगा और फिर बस प्रदान की गई सरणी में अंतिम तत्व को बंद कर दूंगा।
उदाहरण:
$path = 'F:\Program Files\SSH Communications Security\SSH SecureShell\Output.map'
//Get filename from path
$pathArr = explode(DIRECTORY_SEPARATOR, $path);
$filename = end($pathArr);
echo $filename;
>> 'Output.map'
आप बेसनेम () फ़ंक्शन का उपयोग कर सकते हैं ।
URI से सटीक फ़ाइल नाम प्राप्त करने के लिए, मैं इस विधि का उपयोग करूंगा:
<?php
$file1 =basename("http://localhost/eFEIS/agency_application_form.php?formid=1&task=edit") ;
//basename($_SERVER['REQUEST_URI']); // Or use this to get the URI dynamically.
echo $basename = substr($file1, 0, strpos($file1, '?'));
?>
<?php
$windows = "F:\Program Files\SSH Communications Security\SSH Secure Shell\Output.map";
/* str_replace(find, replace, string, count) */
$unix = str_replace("\\", "/", $windows);
print_r(pathinfo($unix, PATHINFO_BASENAME));
?>
body, html, iframe {
width: 100% ;
height: 100% ;
overflow: hidden ;
}
<iframe src="https://ideone.com/Rfxd0P"></iframe>
यह आसान है। उदाहरण के लिए:
<?php
function filePath($filePath)
{
$fileParts = pathinfo($filePath);
if (!isset($fileParts['filename']))
{
$fileParts['filename'] = substr($fileParts['basename'], 0, strrpos($fileParts['basename'], '.'));
}
return $fileParts;
}
$filePath = filePath('/www/htdocs/index.html');
print_r($filePath);
?>
आउटपुट होगा:
Array
(
[dirname] => /www/htdocs
[basename] => index.html
[extension] => html
[filename] => index
)
$image_path = "F:\Program Files\SSH Communications Security\SSH Secure Shell\Output.map";
$arr = explode('\\',$image_path);
$name = end($arr);