2016-08-07 18 views
-2
echo '<pre>'; 
$img = $_FILES['img']; 

if(!empty($img)) 
{ 
    $img_desc = reArrayFiles($img); 
    print_r($img_desc); 

    foreach($img_desc as $val) 
    { 
     $newname = date('YmdHis',time()).mt_rand().'.jpg'; 
     move_uploaded_file($val['tmp_name'],'./uploads/'.$newname); 
    } 
} 

function reArrayFiles($file) 
{ 
    $file_ary = array(); 
    $file_count = count($file['name']); 
    $file_key = array_keys($file); 

    for($i=0;$i<$file_count;$i++) 
    { 
     foreach($file_key as $val) 
     { 
      $file_ary[$i][$val] = $file[$val][$i]; 
     } 
    } 
    return $file_ary; 
} 

複数ファイルのアップロード:配列

Array 
(
    [0] => Array 
     (
      [name] => pix.jpg 
      [type] => image/jpeg 
      [tmp_name] => /tmp/php4Ovz7o 
      [error] => 0 
      [size] => 6720 
     ) 

) 

我々は上記の見ることができるように、それは単一のファイルで動作しますが、私は4つのファイルをアップロードするとき、それは以下のように

そしてphp.ini保留状態を示すブラウザコンソールネットワーク]タブで確認し、ロードを保つ:

128M > 64M > 32M :: memory_limit > post_max_size > upload_max_filesize 

誰でもそれを見てもらえますか?前もって感謝します!

+0

私は、$ _ FILES(そこにあれば(ISSET($ _ FILES [ 'のmyFile'])){}で何も表示されませんでしたし、あなたがしますprint_rを行う必要がありますデバッグします); –

+0

ここにフォームhtmlを置いてください。 –

答えて

0

これを使用して動作します。私はそれを得た:https://www.developphp.com/video/PHP/Multiple-Files-Simultaneous-Upload-Array-Programming-Tutorial

それはすべての配列とループまたはforeachループのいずれかです。

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
</head> 
<body> 
<form action="my_parser.php" method="post" enctype="multipart/form-data"> 
    <p><input type="file" name="file_array[]"></p> 
    <p><input type="file" name="file_array[]"></p> 
    <p><input type="file" name="file_array[]"></p> 
    <input type="submit" value="Upload all files"> 
</form> 
</body> 
</html> 

my_parser.php

<?php 
// Script written by Adam Khoury for the following video exercise: 
// http://www.youtube.com/watch?v=7fTsf80RJ5w 
if(isset($_FILES['file_array'])){ 
    $name_array = $_FILES['file_array']['name']; 
    $tmp_name_array = $_FILES['file_array']['tmp_name']; 
    $type_array = $_FILES['file_array']['type']; 
    $size_array = $_FILES['file_array']['size']; 
    $error_array = $_FILES['file_array']['error']; 
    for($i = 0; $i < count($tmp_name_array); $i++){ 
     if(move_uploaded_file($tmp_name_array[$i], "upload/".$name_array[$i])){ 
      echo $name_array[$i]." upload is complete<br>"; 
     } else { 
      echo "move_uploaded_file function failed for ".$name_array[$i]."<br>"; 
     } 
    } 
} 
?> 
関連する問題