如何切片输入值?

时间:2014-07-19 12:51:05

标签: php html

我的输入值如下:Oppa/upload/default.jpeg

我想根据/切片输入值,因为我想获取图像文件名。有没有人知道这样做的一些技巧?

示例:我想获得default.png

<input type="text" value="Oppa/upload/default.png" id="fileLink" name="fileLink" />

6 个答案:

答案 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)

使用pathinfo() php function

$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];

也可以。