我对/images/500x500/
中的所有图片都有以下内容。我需要将图片大小调整为250x250,然后使用相同的文件名进入/images/250x250/
。
它不会在新目录中创建新映像,而是替换同一目录中的large?
<?php
$files = glob("*.{png,jpg,jpeg}", GLOB_BRACE);
foreach ($files as $file)
{
// get the image size
$imagesize = getimagesize($file);
$width_orig = $imagesize[0];
$height_orig = $imagesize[1];
$dst_w = 250;
if($width_orig != $dst_w)
{
$dst_h_multiplier = $dst_w / $width_orig;
$dst_h = $dst_h_multiplier * $height_orig;
$dst = imagecreatetruecolor($dst_w, $dst_h);
$image = imagecreatefromjpeg($file);
imagecopyresampled($dst, $image, 0, 0, 0, 0, $dst_w, $dst_h ,$width_orig, $height_orig);
imagejpeg($dst, $outputFile, 100);
$outputFile =
realpath(
pathinfo($file, PATHINFO_DIRNAME)
. '/../250x250/'
) . pathinfo($file, PATHINFO_BASENAME);
}
}
?>
答案 0 :(得分:0)
$outputFile =
realpath(
pathinfo($file, PATHINFO_DIRNAME)
. '/../'
) . pathinfo($file, PATHINFO_BASENAME);
首先,您需要使用realpath()
获得的路径以及pathinfo()
。然后,只需附加一个..
和文件名。
此外,您可能不需要realpath()
。我没有测试过。