Php 使用glob以正确的旋转方式拖动图像

Php 使用glob以正确的旋转方式拖动图像,php,glob,Php,Glob,我正在尝试旋转目录中的图像。我的问题是,如果将$imageR作为图像源,则无法获得正确的路径。我的代码如下: foreach(glob('media/{*.gif,*.png,*.JPG,.JPEG,*.jpg}', GLOB_BRACE) as $image){ $image_data = exif_read_data($image); switch($exif['Orientation']) { case 8: $imageR

我正在尝试旋转目录中的图像。我的问题是,如果将
$imageR
作为图像源,则无法获得正确的路径。我的代码如下:

foreach(glob('media/{*.gif,*.png,*.JPG,.JPEG,*.jpg}', GLOB_BRACE) as $image){    
    $image_data = exif_read_data($image);
    switch($exif['Orientation']) {
        case 8:
            $imageR = imagerotate($image,90,0);
            break;
        case 3:
            $imageR = imagerotate($image,180,0);
            break;
        case 6:
            $imageR = imagerotate($image,-90,0);
            break;
    }

    echo '<li>';
    echo '<a href="tim.php?src='.$image.'&w=900&h=900&q=70&zc=3" rel="external">';
    echo '<img src="tim.php?src='.$image.'&w=200&h=200"/>';
    echo '</a>';
    echo '</li>';
}
foreach(glob('media/{*.gif,*.png,*.JPG,*.JPG,*.JPG}',glob_括号)作为$image){
$image\u data=exif\u read\u data($image);
开关($exif['Orientation'])){
案例8:
$imageR=imagerotate($image,90,0);
打破
案例3:
$imageR=imagerotate($image,180,0);
打破
案例6:
$imageR=imagerotate($image,-90,0);
打破
}
回音“
  • ”; 回声'; 回音“
  • ”; }
    您希望只执行一次旋转并将结果存储在服务器的文件系统中,还是希望始终在运行中执行旋转?始终在运行中是最好的,因为我允许随时上载新图像。在这种情况下,您可以在处理上载的脚本中执行转换。
    imagerotate
    GD函数。它不会(自行)打开图像,旋转并保存它。您需要使用
    $image
    创建一个新的GD资源,然后使用
    imagerotate
    ,然后保存它,然后更新exif,以便旋转只发生一次。这是什么样子的。。。在上面,您将看到,我实际上使用timthumb创建了这些图像的新大小,对于image src,我传入$image变量,但我希望传入新的旋转图像,而不是这些图像的旧的不正确旋转。