我的输入值如下:Oppa/upload/default.jpeg
我想根据/
切片输入值,因为我想获取图像文件名。有没有人知道这样做的一些技巧?
示例:我想获得default.png
<input type="text" value="Oppa/upload/default.png" id="fileLink" name="fileLink" />
答案 0 :(得分:3)
使用basename()
:
$path = "Oppa/upload/default.jpeg";
echo basename($path); //will output "default.jpeg"
echo basename($path, '.jpeg'); //will output "default"
第一个参数是将删除尾随组件的路径。如果第一个参数在可选的第二个参数中结束,则第二个参数也将被切断。
在Windows上,斜杠(/)和反斜杠(\)都用作目录 分隔符。在其他环境中,它是正斜杠 (/)。 - PHP manual
答案 1 :(得分:1)
您应该使用basename()
PHP函数。
答案 2 :(得分:1)
这对你有用
$path = "Oppa/upload/default.jpeg";
echo basename($path);
答案 3 :(得分:1)
$path = "http://domain.tld/Oppa/upload/default.png";
$info = pathinfo ( $path, PATHINFO_BASENAME ); // returns default.png
答案 4 :(得分:0)
另一种解决方案,使用preg_match()
<?php
$path = "http://domain.tld/Oppa/upload/default.png"; // or "C:\\domain.tld\Oppa\upload\default.jpg";
$pattern = '/[\/|\\\\]((?:.(?!\/|\\\\))+)$/';
if(preg_match($pattern, $path, $matches)){
echo $matches[1]; // default.png or default.jpg
}
?>
注意:人们声称使用带有亚洲字符的basename()
时出现问题
答案 5 :(得分:-1)
我认为如果您的图片路径不会从Oppa/upload/
更改,那么应该使用explode:
$str = "Oppa/upload/default.jpeg";
$s= explode("Oppa/upload/",$str);
echo $s[1];
将相对路径定义为常量可以做到另一件好事,所以:
const path = "Oppa/upload/";
$str = "Oppa/upload/default.jpeg";
$s= explode(path,$str);
echo $s[1];
也可以。