2010-08-26 33 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