我正在尝试循环一个充满图像的文件夹,并在另一个文件夹中调整它们的副本。当我尝试使用其中一个时,它工作正常但是当我循环它时,它不起作用。不知道我做错了什么。我没有任何错误。
<?php
include_once 'dbconfig.php';
?>
<?php
// exec('/usr/bin/convert /home/forbes11/public_html/gallery/uploads/10114-20170610_211655_182.jpg -resize 340x340 /home/forbes11/public_html/gallery/uploads/thumbnails/10114-20170610_211655_182.jpg');
$sql = "SELECT * FROM tbl_uploads";
$result_set = mysql_query($sql);
while ($row = mysql_fetch_array($result_set))
{
$pic = $row['file'];
// echo $pic;
exec('/usr/bin/convert /home/forbes11/public_html/gallery/uploads/$pic -resize 340x340 /home/forbes11/public_html/gallery/uploads/thumbnails/$pic');
}
?>
答案 0 :(得分:3)
在exec()
来电中,您应该使用字符串连接或双引号来让口译员识别您的$pic
变量。
exec('/usr/bin/convert /home/forbes11/public_html/gallery/uploads/' . $pic . ' -resize 340x340 /home/forbes11/public_html/gallery/uploads/thumbnails/' . $pic);
或
exec("/usr/bin/convert /home/forbes11/public_html/gallery/uploads/$pic -resize 340x340 /home/forbes11/public_html/gallery/uploads/thumbnails/$pic");
答案 1 :(得分:1)
不确定PHP和数据库访问的作用,但如果您有一个目录,其中包含要调整大小的JPEG图像并将缩略图保存在新目录中,则可以通过命令行轻松完成使用 ImageMagick &#39; mogrify
命令:
mogrify -path /output/directory -resize 340x340 *.jpg
如果文件的名称来自 MySQL ,您可以将其传递到mogrify
上的stdin
:
mysql_query_listing_filenames | mogrify -path /output/directory -resize 340x340 *.jpg @-