我的文件名正在存儲在一個變量中$ file_name ...我怎樣才能刪除擴展名,只有名稱而已?有沒有比其他的strcmp,我可以使用的東西...這似乎並沒有做到這一點刪除文件中的最後3個字符(文件擴展名)
回答
使用pathinfo。
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?>
注意:如果你不是在PHP> = 5.2使用此來組成名
$path_parts['filename'] = substr($path_parts['basename'], 0, -1*strlen($path_parts['extension'])-1);
我用:
$file_name = current(explode(".", $file_name));
是更好地使用這種 – 2010-12-13 09:32:18
那麼什麼用,如文件名的' foo.bar.txt'? – Joey 2010-12-13 09:33:18
這會給你任何東西,直到第一個'.'。 「my.strange.path/i.like.dots.php」會發生什麼? – 2010-12-13 09:34:19
你應該看看pathinfo()
功能。
@Salman答:究竟是什麼對我發佈的鏈接這麼無禮?哪個鏡像鏈接是否真的很重要? – AgentConundrum 2010-12-13 09:36:01
我已經恢復了更改。 – 2010-12-13 09:45:02
@Salman:我自己可以做到這一點。我只是想知道*爲什麼*你認爲有必要。 – AgentConundrum 2010-12-13 09:57:23
您可以使用正則表達式。 Regular expression to remove a file's extension
你可以這樣做:
$file_name_no_ext = pathinfo($file_name , PATHINFO_FILENAME);
類似@fire,但更強大的面對多重點:
$comps = explode('.', $filename);
unset($comps[count($comps) - 1]);
$ext = implode('.', $comps);
- 1. powershell從文件名中刪除最後3個字符
- 2. 刪除文件夾中文件名的最後一個字符
- 3. bash /終端RH刪除文件名的最後3個字符
- 4. 刪除文件擴展名
- 5. 刪除文件擴展名後重寫url查詢字符串
- 6. 從文件名中刪除擴展名
- 7. 從文件名中刪除擴展名
- 8. 蝙蝠文件刪除文件中的最後一個字符?
- 9. 從文件中刪除擴展名
- 10. 從URL中刪除文件擴展名
- 11. 刪除使用htaccess刪除文件擴展名後的索引
- 12. Fortran:如何從字符中刪除文件擴展名
- 13. C#從字符串列表中刪除文件擴展名
- 14. 文件夾不匹配後刪除文件擴展名.htaccess
- 15. 如何刪除文件的擴展名?
- 16. 批處理文件查找具有雙重文件擴展名的文件並刪除最後一個文件
- 17. Linux:刪除多個文件的文件擴展名
- 18. 如何從文件名(VBA)中刪除文件擴展名
- 19. 如何從文件名中刪除文件擴展名?
- 20. OSX終端刪除文件名的最後7個字符是
- 21. Python - 刪除文本文件中的最後一個字符
- 22. 刪除文本文件中每行的最後兩個字符
- 23. Git - 遞歸刪除文件擴展名
- 24. 使用gsutil刪除文件擴展名
- 25. 刪除一切,但文件擴展名
- 26. 刪除文件擴展名爲URL
- 27. 刪除擴展名從文件
- 28. 刪除URL文件擴展名
- 29. Python刪除某些文件擴展名
- 30. 從URL刪除文件擴展名
+1爲內置功能,而不是更復雜和容易出錯的替代方案 – 2010-12-13 09:35:49