2010-08-26 91 views
0

打印我想知道,可以執行以下操作功能分割,切串和PHP

$海峽=「上傳/文件/ file1.jpg」的功能;

我想斜槓字符串uploads/file /的初始值,只是想返回file1.jpg作爲值。

我試着用str_replace()函數,

$str = "uploads/file/file1.jpg"; 

$str2 = str_replace("uploads/file"," ", $str); 

echo $str; 

這是行不通的,我要去的地方錯了嗎?

編輯:愚蠢的我,我沒有注意到,我試圖回聲$ str,對不起。它現在正在爲我工​​作。

順便說一句我想知道哪種方法更好,上面的一個或basename();

+2

如果可以的話,總是與內置的方法去。所以在這種情況下'basename()'。 – 2010-08-26 09:09:20

回答

9

使用basename():它是專門設計來獲取文件名部分出來的路徑。

$str2 = basename("uploads/file/file1.jpg"); // Will return file1.jpg 

同樣有趣的(儘管在此examle不是必要的)是pathinfo()這將字符串分割成四個部分:目錄,基本名稱,文件名和擴展名。

將URL拆分爲其組件的等效項爲parse_url()

+0

+1(* 3秒;)*) – 2010-08-26 08:59:30

+0

+1確實...;) – deceze 2010-08-26 09:00:10

+0

+1謝謝你的信息佩卡,你總是在那裏幫我:) – 2010-08-26 09:03:23

0
substr($str, strrpos($str, "/")) 

或者,如果你想要去除上傳/文件只

substr($str, strlen("uploads/file")) 
1

使用基本名稱:

$path = "/home/httpd/html/index.php"; 
$file = basename($path);  // $file is set to "index.php" 
$file = basename($path, ".php"); // $file is set to "index" 
+0

現在解決了我的問題。 – 2010-08-26 09:04:07