的PHP替代是否有任何PHP方法做:JavaScript的pop()方法
var filename = $_POST["filename"];
filename = filename.split(".").pop();
我如何可以做同样的事情上面在PHP?
的PHP替代是否有任何PHP方法做:JavaScript的pop()方法
var filename = $_POST["filename"];
filename = filename.split(".").pop();
我如何可以做同样的事情上面在PHP?
也许这样的事情?
$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()'只是给了我“。 “ –
@MohammadAreebSiddiqui:什么'var_dump($ filename);'输出? –
看不到...... –
在PHP中,你可能不需要转换为数组和弹出;获取最后一个字符的位置,然后获取字符串的其余部分。从http://davidwalsh.name/php-file-extension:
substr(strrchr($file_name,'.'),1);
你可以做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);
'array_pop()'也许? –
像这样的问题应该关闭,如果人们不打扰像“PHP数组弹出”这样的Google术语。 – Mark
参见http://php.net/manual/en/function.explode.php和http://php.net/manual/en/function.explode.php –