2011-12-15 4 views
-1

다음은 HTML5 태그가있는 여러 개의 사진을 업로드하는 데 사용하는 코드입니다. 배열에 foreach 변수가 있습니다.

foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){ 
    $rand_file_name = rand(1,1000000); 
    if ($_FILES['files']['type'][$key] == "image/jpeg" || $_FILES['files']['type'][$key] == "image/gif" || $_FILES['files']['type'][$key] == "image/png" || $_FILES['files']['type'][$key] == "image/JPEG" || $_FILES['files']['type'][$key] == "image/GIF" || $_FILES['files']['type'][$key] == "image/PNG") { 
     if ($_FILES['files']['size'][$key] < 512000){ 
      move_uploaded_file($tmp_name, "../../../assets/users/$user_id/photos/$browser_album_id/$rand_file_name.jpg"); 
      $photo_name = $_FILES['files']['name'][$key]; 
      $photo_name = str_replace(".jpg", "", $photo_name); 
      $photo_name = str_replace(".png", "", $photo_name); 
      $photo_name = str_replace(".gif", "", $photo_name); 
      $insert_database = mysql_query("INSERT INTO photo_album_photos (random_photo_name,belonging_album_id,photo_name) VALUES ('$rand_file_name','$browser_album_id','$photo_name')"); 
      $num_files_added++; 
     } 
    } 
} 

$ num_files_added가 추가 된 파일 수를 계산합니다

.

내가 달성하고자하는 것은 배열로 $ rand_file_name (들)을 수집하는 것입니다. 각 이미지에는 임의의 이름이 주어 지므로 하나의 이미지는 812532.jpg이고 다음 이미지는 246546.jpg 일 수 있습니다.

파일 이름을 데이터베이스에 삽입하고 싶습니다. 따라서 위의 예제는 배열에 포함됩니다. 예 : 어레이 (812532,246546);

당연히이 코드를 작성하고 싶지는 않습니다. 다만 도움과 안내 만 해주십시오! :)

+0

당신이보고있는 것으로 충분합니다. -> $ arr_files [] = $ rand_file_name; – B4NZ41

답변

1

foreach 전에 빈 배열

로하고 foreach 루프에서 변수 $file_names = array();을 소개,이 시도 :

$file_names[] = $rand_file_name; 

를 그런 다음에 저장됩니다 배열에 액세스 할 수 있습니다 $file_names 변수 :)

는 foreach 루프 전에 $file_names = ''을 소개 쉼표로 구분 된 문자열로 만들합니다.

그런 다음 루프에서 다음을 수행하십시오

$file_names .= $rand_file_name . ','; 

그리고 foreach 루프를 닫은 후

이 :

$file_names = substr($file_names,0,-1); 
+0

내가 이것을 에코 할 때 배열이라고 말할까요? – Frank

+0

예, 배열입니다. 배열 값을 보려면'print_r ($ file_names)'를 – Indranil

+0

으로하고 데이터베이스에서 ** 812532,246546 **이라고 말하고 싶습니다. 나는 어떻게 그것에 대해 갈 것인가? – Frank

0

PHP에서는 인덱스를 지정하지 않음으로써 배열에 추가 할 수 있습니다.

예를 들어,이 루프를 보면 :

for ($i = 0; $i < 100; $i++) 
{ 
    $a[] = "file$i"; 
} 

루프가 실행될 때마다 배열 $afile1 같은 새로운 요소, file2, file3 ... 도움이

희망이 포함됩니다!

0

$ rand_file_names = array();

$ rand_file_names [] = $ rand_file_name;

데이터베이스에 $ rand_file_names를 array(812532,246546)으로 저장하는 것을 권장하지 않습니다. 그것이 당신이 찾고있는 것이라면, serialize을 시도해야합니다.

관련 문제