浏览更多文件时$ _FILES中的文件值消失了

时间:2016-06-15 08:02:21

标签: javascript php file-upload

我使用krajee bootstrap多个文件输入。当我浏览更多图像文件时,$_FILES中的图像值已经消失。

首先浏览此Image1.jpg,然后在上传后再次点击浏览按钮浏览更多图片文件Image2.jpg我只获得了最后一张图片Image2.jpg

提交后我尝试print_r($_FILES["imagenes"]["name"])。这是结果。

Array
(
    [0] => Image2.jpg
)

当我点击浏览更多内容时,如何保留我选择的所有文件?

我的代码:

<form method="post" enctype="multipart/form-data">
    <input id="input-repl-1a" name="imagenes[]" type="file" class="file-loading" accept="image/*" multiple>
    <button type="submit" name="upload">Upload</button>
</form>

Krajee文件输入

<script type="text/javascript">
$("#input-repl-1a").fileinput({
    uploadUrl: false,
    autoReplace: false,
    overwriteInitial: false,
    showUploadedThumbs: false,
    showUpload: false,
    uploadAsync: false,
    maxFileCount: 5,
    initialPreviewShowDelete: false,
    showRemove: false,
    showClose: false,
    layoutTemplates: {actionDelete: ''}, // disable thumbnail deletion
    allowedFileExtensions: ["jpg", "png", "gif"],
    layoutTemplates: {
        actions: '<div class="file-actions">\n' +
            '    <div class="file-footer-buttons">\n' +
            '        {delete}' +
            '    </div>&nbsp;&nbsp;\n' +
            '</div>',
    }
});
</script>

PHP上传

if(isset($_FILES["imagenes"]["name"])) {   
    $TotalImage = count($_FILES['imagenes']['name']);  
    for($i=0;$i<$TotalImage;$i++)
    {
        $filename = $_FILES["imagenes"]["name"][$i];
        $files = $_FILES["imagenes"]["tmp_name"][$i];
        $file_basename = substr($filename, 0, strripos($filename, '.')); // get file extention
        $file_ext = substr($filename, strripos($filename, '.')); // get file name
        $allowed_file_types = array('.jpg','.png', 'jpeg'); 

        if(in_array($file_ext,$allowed_file_types))
        {
            $randOctalName = openssl_random_pseudo_bytes(16);
            $randName = bin2hex($randOctalName).$file_ext;

            $image_to_db = $randName;  

            $width = 640;
            $size = GetimageSize($files);
            $height = round($width*$size[1]/$size[0]);


            if($file_ext == '.jpg') {
                $images_orig = ImageCreateFromJPEG($files);
            } else if($file_ext == '.png') {
                $images_orig = ImageCreateFromPNG($files);
            } else if($file_ext == '.jpeg') {
                $images_orig = ImageCreateFromJPEG($files);
            }

            $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);

            if($file_ext == '.jpg') {
                ImageJPEG($images_fin,"upload/".$randName, 90);
            } else if($file_ext == '.png') {
                ImagePNG($images_fin,"upload/".$randName, 9);
            } else if($file_ext == '.jpeg') {
                ImageJPEG($images_fin,"upload/".$randName, 90);
            }
            ImageDestroy($images_orig);
            ImageDestroy($images_fin);
        } else {
        }
    }
}

0 个答案:

没有答案