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

Edit all jpeg from folder and subfolder with GD PHP

我想压缩一些 jpg 文件夹,我想使用 GD 来完成这项任务,但我无法让它工作。我可以压缩单个文件并使用此代码轻松覆盖它们:

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

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

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

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

谢谢。

您想使用 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);
}