【发布时间】:2012-01-12 18:34:59
【问题描述】:
说图片叫:gecko.jpg
我可以先把“.jpg”去掉,在“gecko”后面加上“-100x100”,再把扩展名放回去,就是“gecko-100x100.jpg”吗?
【问题讨论】:
说图片叫:gecko.jpg
我可以先把“.jpg”去掉,在“gecko”后面加上“-100x100”,再把扩展名放回去,就是“gecko-100x100.jpg”吗?
【问题讨论】:
使用pathinfo
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
$new = $path_parts['filename'] . '-100x100.' .$path_parts['extension'];
【讨论】:
是的,很简单,将 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
【讨论】: