【发布时间】:2013-09-30 19:33:52
【问题描述】:
有没有什么PHP方法可以做:
var filename = $_POST["filename"];
filename = filename.split(".").pop();
我怎样才能在 PHP 中做同样的事情?
【问题讨论】:
-
这样的问题应该被关闭,如果人们不打扰像“PHP array pop”这样的谷歌术语。
标签: javascript php split
有没有什么PHP方法可以做:
var filename = $_POST["filename"];
filename = filename.split(".").pop();
我怎样才能在 PHP 中做同样的事情?
【问题讨论】:
标签: javascript php split
大概是这样的吧?
$filetype = array_pop(explode('.',$filename));
它将生成Only variables should be passed by reference 通知。如果你想摆脱它,你需要:
$fileparts = explode('.',$filename);
$filetype = array_pop($fileparts);
但是,获取文件扩展名的最佳方法是使用pathinfo():
$filetype = pathinfo($filename, PATHINFO_EXTENSION);
【讨论】:
pathinfo() 只是给了我“。”
var_dump($filename); 输出什么?
你可以unset($filename[count($filename) - 1]);。这将删除数组中的最后一个元素。
【讨论】:
你想这样做:
$filename = $_POST['filename'];
$file_arr = explode(".",$filename); // may need to escape '.' here, can't remember
$filename = array_pop($file_arr);
【讨论】:
在 PHP 中,您可能不需要转换为数组并弹出;获取最后一个字符的位置,然后获取字符串的其余部分。来自http://davidwalsh.name/php-file-extension:
substr(strrchr($file_name,'.'),1);
【讨论】: