【问题标题】:PHP alternative of Javascript's pop() method [closed]Javascript的pop()方法的PHP替代品[关闭]
【发布时间】:2013-09-30 19:33:52
【问题描述】:

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

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

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

【问题讨论】:

标签: javascript php split


【解决方案1】:

大概是这样的吧?

$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); 输出什么?
  • @MohammadAreebSiddiqui:那是什么意思?
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    你想这样做:

    $filename = $_POST['filename'];
    $file_arr = explode(".",$filename); // may need to escape '.' here, can't remember
    $filename = array_pop($file_arr);
    

    【讨论】:

      【解决方案4】:

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

      substr(strrchr($file_name,'.'),1);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-14
        • 2011-03-14
        • 2016-08-27
        • 2010-09-20
        • 2014-08-23
        • 2011-08-21
        • 2012-09-09
        相关资源
        最近更新 更多