2014-11-22 2 views
-1

나는 업 로더를 제작하고 가능한 경우 도움이 필요합니다. 자바 스크립트 필드 추가 기능을 사용하여 멀티 업 로더에서 원하는만큼 사진을 추가 할 수있는 업 로더가 있습니다.배열 각 파일 업로드 foreach를 단일 문자열로

enter image description here

나는 나는 그들이 업로드 얼마나 많은는 확실하지 때문에 작동합니다 같아요 그가 텍스트로 업로드 된 모든 이미지 에코 원하지만 $fileName[0], $fileName[1], $fileName[2]를 사용하여. 배열을 내파하거나 모든 배열을 결합하여 하나에 표시 할 수있는 배열이 있습니까?

여기 내 코드입니다.

<?php 
if (isset($_POST['addpart'])) { 

    $image = $_FILES['images']['tmp_name']; 
    $name = $_POST['username']; 
    $name = str_replace(' ', '_', $name); 
    $i  = 0; 
    $i2 = 1; 
    $id = uniqid(); 

    foreach ($image as $key) { 
     $fileData = pathinfo(basename($_FILES["images"]["name"][$i])); 
     $fileName[] = $name . '_' . $id . '_' . $i2 . '.' . $fileData['name'] . 'jpg'; 
     move_uploaded_file($key, "image/" . end($fileName)); 
     //copy("image/" . end($fileName) , "image_thumbnail/" . end($fileName)); 
     $images  = "image/" . end($fileName); 
     $new_images = "image_thumbnail/" . end($fileName); 
     $width  = 100; //*** Fix Width & Heigh (Autu caculate) ***// 
     $size  = GetimageSize($images); 
     $height  = round($width * $size[1]/$size[0]); 

     switch ($size[2]) { 
      case IMAGETYPE_GIF: 
       $images_orig = imagecreatefromgif($images); 
       break; 

      case IMAGETYPE_JPEG: 
       $images_orig = imagecreatefromjpeg($images); 
       break; 

      case IMAGETYPE_PNG: 
       $images_orig = imagecreatefrompng($images); 
       break; 

      default: 
       die("Unknown filetype"); 
     } 

     //$images_orig = imagecreatefromjpeg($images); 
     $photoX  = ImagesX($images_orig); 
     $photoY  = ImagesY($images_orig); 
     $images_fin = ImageCreateTrueColor($width, $height); 
     ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width + 1, $height + 1, $photoX, $photoY); 
     ImageJPEG($images_fin, $new_images); 
     $i++; 
     $i2++; 
    } 

    echo 'Uploaded<br />'; 
    echo 'Main Image - <a href="image/' . $fileName[0] . '">' . $fileName[0] . '</a><br />'; 
    echo 'Extra Image 1 - <a href="image/' . $fileName[1] . '">' . $fileName[1] . '</a><br />'; 
    echo 'Extra Image 2 - <a href="image/' . $fileName[2] . '">' . $fileName[2] . '</a><br />'; 
    echo '<hr>'; 
} 

?> 

내가 무엇을 요구하는지 분명히 밝힙니다.

답변

1

당신은 당신이 $fileName[0], $fileName[1], ..., 귀하의 질문에 간단하게 $file라고라고 부르는 것,이 예에서는 $fileName

foreach ($fileName as $file) { 

    echo "Value: $file<br />\n"; 

} 

에있는 모든 항목을 통해 간단한 foreach loop 사이클을 사용할 수 있습니다. foreach 루프는 $fileName 내부의 항목을 계산하므로 반드시 알 필요는 없습니다.

이 때문에 $fileName$fileNames (배열이기 때문에)으로 바꾸고 다음과 같이 foreach를 작성하는 것이 좋습니다 : ($fileNames as $fileName). 다른 목적을 위해


, 당신은 당신이 count()를 사용할 수있는 배열에 얼마나 많은 항목이 알 필요가 있다면.

+0

@Saturnix 도움을 주셔서 감사합니다. 작업 할 코드가 있습니다!, 'foreach ($ fileName as $ item) {echo $ item.', '; }', 나는 또한 그들에게 혼수 상태를주기 위해 그것을 만들었다. 한 가지 더 질문합니다. 마지막에 쉼표를 제거하려면 어떻게해야합니까? –

+0

if 문을 사용하여 마지막 요소인지 확인합니다. – Saturnix

+0

감사합니다. 나는 배열을 쉼표로 함축해야한다는 것을 알고 있습니다. –

관련 문제