현재 위치: > 최신 기사 목록> 이미지 파일의 배치 플라이핑을위한 PHP 스크립팅

이미지 파일의 배치 플라이핑을위한 PHP 스크립팅

M66 2025-05-31

이미지를 처리 ​​할 때 특히 배치 이미지 처리 시나리오에서 이미지를 처리 ​​할 때는 종종 (수평 또는 수직) 이미지를 뒤집어야합니다. PHP는 서버 측 언어이지만 내장 GD 이미지 처리 라이브러리를 통해이 기능을 쉽게 구현할 수 있습니다. 이 기사에서는 지정된 디렉토리에서 모든 이미지 파일을 뒤집는 PHP 스크립트를 작성하고 뒤집힌 이미지를 다른 디렉토리에 저장하는 방법을 알려줍니다.

1. 준비

서버 환경에 GD 라이브러리가 활성화되어 있는지 확인하십시오. 다음 방법으로 확인할 수 있습니다.

 <?php
phpinfo();
?>

브라우저 에서이 스크립트에 액세스 한 후 GD 지원을 검색하십시오. 활성화되면 이미지 처리 작업을 수행 할 수 있습니다.

2. 기본 논리

다음 단계를 완료해야합니다.

  1. 이미지가 포함 된 소스 디렉토리를 지정합니다.

  2. 디렉토리의 모든 이미지 파일을 가로 지르십시오.

  3. GD 라이브러리를 사용하여 각 이미지를로드하십시오.

  4. 이미지를 뒤집습니다 (수평 또는 수직);

  5. 뒤집힌 이미지를 대상 디렉토리에 저장하십시오.

3. 샘플 코드

다음은 완전한 예제 스크립트입니다.

 <?php

$sourceDir = __DIR__ . '/images/originals';
$targetDir = __DIR__ . '/images/flipped';

// 대상 디렉토리를 만듭니다(존재하지 않는 경우)
if (!file_exists($targetDir)) {
    mkdir($targetDir, 0755, true);
}

// 지원되는 이미지 유형
$allowedExtensions = ['jpg', 'jpeg', 'png', 'gif'];

// 소스 디렉토리에서 파일을 스캔하십시오
$files = scandir($sourceDir);

foreach ($files as $file) {
    $filePath = $sourceDir . '/' . $file;

    // 뛰어 올라 . 그리고 ..
    if (in_array($file, ['.', '..'])) {
        continue;
    }

    // 파일 확장자를 얻으십시오
    $extension = strtolower(pathinfo($file, PATHINFO_EXTENSION));

    // 비 이미지 파일을 필터링합니다
    if (!in_array($extension, $allowedExtensions)) {
        continue;
    }

    // 이미지로드
    switch ($extension) {
        case 'jpg':
        case 'jpeg':
            $image = imagecreatefromjpeg($filePath);
            break;
        case 'png':
            $image = imagecreatefrompng($filePath);
            break;
        case 'gif':
            $image = imagecreatefromgif($filePath);
            break;
        default:
            continue 2;
    }

    // 이미지 크기를 얻으십시오
    $width = imagesx($image);
    $height = imagesy($image);

    // 빈 캔버스를 만듭니다
    $flipped = imagecreatetruecolor($width, $height);

    // 이미지를 가로로 뒤집습니다
    for ($x = 0; $x < $width; $x++) {
        imagecopy($flipped, $image, $width - $x - 1, 0, $x, 0, 1, $height);
    }

    // 새 이미지를 저장하십시오
    $targetPath = $targetDir . '/' . $file;
    switch ($extension) {
        case 'jpg':
        case 'jpeg':
            imagejpeg($flipped, $targetPath);
            break;
        case 'png':
            imagepng($flipped, $targetPath);
            break;
        case 'gif':
            imagegif($flipped, $targetPath);
            break;
    }

    // 기억을 청소하십시오
    imagedestroy($image);
    imagedestroy($flipped);

    echo "처리 된 이미지:$file\n";
}

echo "배치 플립이 완료되었습니다。뒤집힌 이미지를 방문하여 이동하십시오:http://m66.net/images/flipped/";

?>

4. 주목할만한 것들

  • 디렉토리 권한이 올바르게 설정되고 PHP 프로세스가 대상 디렉토리에 액세스하고 쓸 수있는 권한이 있는지 확인하십시오.

  • 수직으로 뒤집으려면 플립 로직을 수정하고 이에 따라 imageCopy () 에서 좌표를 조정하십시오.

  • 투명한 PNG 또는 GIF 이미지의 경우 추가 투명 처리 로직이 필요할 수 있습니다. 그렇지 않으면 검은 색 배경이 나타납니다.

V. 결론

이 기사에서 제공 한 PHP 스크립트를 통해 배치 이미지 플립 작업을 빠르게 구현할 수 있습니다. 그림의 배치 정렬, 자동화 된 처리 또는 온라인 사진 도구 개발이든, 이러한 작은 기능은 효율성을 크게 향상시킬 수 있습니다. 이 스크립트를 웹 사이트에 통합하려는 경우 간단한 사용자 인터페이스 또는 파일 업로드 로직을 추가하여 기능을보다 완료하도록 잊지 마십시오!