用于分割和剪切字符串并在PHP中打印的功能

时间:2010-08-26 08:56:23

标签: php

我想知道可以执行以下操作的功能

$ str =“uploads / file / file1.jpg”;

我想削减字符串uploads / file /的初始值,只想将file1.jpg作为值返回。

我尝试使用str_replace(),

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

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

echo $str;

这不起作用,我哪里错了?

编辑:愚蠢我,我没有注意到我想要回应$ str,对不起。它现在对我有用。

BTW我想知道哪种方法比上面的方法更好或者basename();

3 个答案:

答案 0 :(得分:9)

使用basename():它专门用于将文件名部分从路径中删除。

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

同样有趣(虽然在本次考试中没有必要)是pathinfo(),它将字符串拆分为四个组件:目录,基本名称,文件名和扩展名。

相当于将网址拆分为parse_url()

答案 1 :(得分:1)

使用basename:

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

答案 2 :(得分:0)

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

或者,如果您只想剥离上传/文件

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