我想知道可以执行以下操作的功能
$ 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();
答案 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"))