【问题标题】:Remove image extension, rename and restore删除图像扩展名,重命名和恢复
【发布时间】:2012-01-12 18:34:59
【问题描述】:

说图片叫:gecko.jpg

我可以先把“.jpg”去掉,在“gecko”后面加上“-100x100”,再把扩展名放回去,就是“gecko-100x100.jpg”吗?

【问题讨论】:

    标签: php string filenames


    【解决方案1】:

    使用pathinfo

    $path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
    $new = $path_parts['filename'] . '-100x100.' .$path_parts['extension'];
    

    【讨论】:

      【解决方案2】:

      是的,很简单,将 PHP 的字符串函数与 basename() 结合使用

      $base = basename($filename, ".jpg");
      echo $base . "-100x100" . ".jpg";
      

      或使用strrpos() 对任何文件类型执行此操作,通过查找最后一个. 来定位扩展名

      // Use strrpos() & substr() to get the file extension
      $ext = substr($filename, strrpos($filename, "."));
      // Then stitch it together with the new string and file's basename
      $newfilename = basename($filename, $ext) . "-100x100" . $ext;
      

      --

      // Some examples in action...
      $filename = "somefile.jpg";
      $ext = substr($filename, strrpos($filename, "."));
      $newfilename = basename($filename, $ext) . "-100x100" . $ext;
      echo $newfilename;
      // outputs somefile-100x100.jpg
      
      // Same thing with a .gif
      $filename = "somefile.gif";
      // outputs somefile-100x100.gif
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-19
        • 1970-01-01
        • 1970-01-01
        • 2011-11-24
        • 1970-01-01
        • 2016-12-05
        • 1970-01-01
        • 2014-05-30
        相关资源
        最近更新 更多