-3

有没有什么PHP方法可以做:

var filename = $_POST["filename"];
filename = filename.split(".").pop();

我怎样才能在 PHP 中做同样的事情?

4

4 回答 4

5

大概是这样的吧?

$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);
于 2013-09-30T19:35:53.780 回答
1

在 PHP 中,您可能不需要转换为数组并弹出;获取最后一个字符的位置,然后获取字符串的其余部分。从http://davidwalsh.name/php-file-extension

substr(strrchr($file_name,'.'),1);
于 2013-09-30T19:35:42.840 回答
1

你可以做到unset($filename[count($filename) - 1]);。这将删除数组中的最后一个元素。

于 2013-09-30T19:35:50.080 回答
1

你想这样做:

$filename = $_POST['filename'];
$file_arr = explode(".",$filename); // may need to escape '.' here, can't remember
$filename = array_pop($file_arr);
于 2013-09-30T19:36:08.830 回答