2013-10-21 4 views
0

여러 이미지가 업로드되고 있어도 축소판 이미지 중 하나만이 스크립트의 폴더에 저장됩니다. 나는 그것이 foreach 루프의 반복과 관련된 것이어야한다고 생각하고 있습니다. 아래에 게시 된 크기 조정 스크립트입니다. 누구든지 빠른 수정이 있습니까? 감사합니다.이미지 크기 조정을 사용하는 올바른 foreach 루프 절차

define('THUMBS_DIR', 'C: /inetpub/wwwroot/mysite/images/thumbs/'); 
define('MAX_WIDTH', 90); 
define('MAX_HEIGHT', 100); 
if (array_key_exists('upload', $_POST)) 
{ 
    $original = $_FILES['image']['tmp_name']; 

    foreach ($original as $number => $tmp_file) 
    { 
     $original = ($tmp_file); 
    } 

    if (!$original) 
    { 
     echo 'NoImageSelected'; 
    } 
} else { 
    list($width, $height, $type) = getimagesize($original); 

    if ($width <= MAX_WIDTH && $height <= MAX_HEIGHT) 
    { 
     $ratio = 1; 
    } elseif ($width > $height) { 
     $ratio = MAX_WIDTH/$width; 
    } else { 
     $ratio = MAX_HEIGHT/$height; 
    } 

    $imagetypes = array('/. gif$/','/. jpg$/','/. jpeg$/','/. png$/'); 
    $name = preg_replace($imagetypes, '', basename($file[$location]));  
    $moved = @ move_uploaded_file($original[$location], THUMBS_DIR.$file); 

    if ($moved) 
    { 
     $result[] = $_FILES['image']['name'].'succesfullyuploaded'; 
     $original = $ext.$file[$location]; 
    }else{ 
     $result = 'Problemuploading'.$_FILES['image']['name']; 
    } 

    if ($type == 1) 
    { 
     $source = imagecreatefromgif($original); 
    } elseif ($type == 2) { 
     $source = imagecreatefromjpeg($original); 
    } elseif ($type == 3) { 
     $source = imagecreatefrompng($original); 
    } else { 
     $result = 'Cannotidentifythefiletype'; 
    } 
} 
+0

figureditout ... need $ i = 0; foreach ($ tmp_file as $ original) {// 코드 블록 ... else {$ result = '파일 타입을 식별 할 수 없습니다'; } $ i ++; // $ original [$ i]로 표기된 변수와 함께 – user2469375

답변

0

스크립트가 원하는 것을 더 잘 설명해 주실 수 있습니까? 내 문제는 다음과 같을 수 있습니다 :

$original = ($tmp_file); 

foreach 루프에서 사용하는 변수를 덮어 쓰고 있습니다.

+0

응답 해 주셔서 감사합니다. 목적은 내 입력 유형 = "파일"입력 유형 = "업로드"양식에서 업로드 된 모든 이미지의 크기를 조정하는 것입니다. 양식 (위에 표시되지 않음)은 단일 및 다중 이미지 업로드에 적합합니다. 그러나 크기가 조정 된 이미지 중 하나만 만들어져 '축소판'폴더에 저장됩니다. – user2469375

+0

알아 냈어 ... $ i = 0; foreach ($ tmp_file as $ original) { – user2469375