使用GD PHP编辑文件夹和子文件夹中的所有jpeg

时间:2015-08-05 22:05:34

标签: php compression jpeg gd

我想压缩一些jpgs的文件夹,我想使用GD来完成这项任务,但是我遇到麻烦让它工作。我可以压缩单个文件并轻松地使用此代码覆盖它们:

$img = imagecreatefromjpeg("descriptionImage11.jpg");  

imagejpeg($img,"descriptionImage11.jpg",50);

但是我现在不太确定如何编辑文件夹中的每个图像,它是子文件夹并用新的压缩版本覆盖它们。

如果有人可以提供一些帮助,那就太好了。

谢谢。

1 个答案:

答案 0 :(得分:0)

您希望使用DirectoryIterator

遍历所有目录
<?php

$di  = new RecursiveDirectoryIterator('./');
$iter  = new RecursiveIteratorIterator($di);
$regexIter = new RegexIterator(
$iter, '/^.+\.jpg$/i', RecursiveRegexIterator::GET_MATCH);

foreach ($regexIter as $fileInfo) {
  $img = imagecreatefromjpeg($fileInfo[0]);  
  imagejpeg($img,$fileInfo[0], 50);
}