0

我有一个出租列表网站,用户可以在其中创建一个页面并显示他们列表的照片。我创建了一个包含多个文件输入字段的表单,供用户选择要上传的文件以及提交按钮:

<form method="post" enctype="multipart/form-data">
    <input type="file" name="image_1" id="image_1" /> 
    <input type="file" name="image_2" id="image_2" /> 
    <input type="file" name="image_3" id="image_3" /> 
    <input type="submit" name="submit" value="Submit" />
</form>

用户选择他们的图像后,我正在运行一个调整大小并上传它们的函数:

function uploadAndResize($imageFile, $filename) {
    $folder = '../images/';
    $orig_w = 400;
    $filename = str_replace(' ', '_', $filename);

    list($width, $height) = getimagesize($imageFile);

    $src = imagecreatefromjpeg($imageFile);
    $orig_h = ($height / $width) * $orig_w;

    $tmp = imagecreatetruecolor($orig_w, $orig_h);
    imagecopyresampled($tmp, $src, 0, 0, 0, 0, $orig_w, $orig_h, $width, $height);
    imagejpeg($tmp, $folder.$filename, 100);

    imagedestroy($tmp);
    imagedestroy($src);
}

$imageFile_1 = $_FILES['image_1']['tmp_name'];
$filename_1 = basename( $_FILES['image_1']['name']);

$imageFile_2 = $_FILES['image_2']['tmp_name'];
$filename_2 = basename( $_FILES['image_2']['name']);

$imageFile_3 = $_FILES['image_3']['tmp_name'];
$filename_3 = basename( $_FILES['image_3']['name']);

uploadAndResize($imageFile_1,$filename_1);
uploadAndResize($imageFile_2,$filename_2);
uploadAndResize($imageFile_3,$filename_3);

我目前的设置非常适合上传照片,但我想用一个能够一次选择多个文件的文件输入字段替换多个文件输入字段。但是,我确实希望每个被选中的文件都具有“image_”的名称属性与下一次迭代相结合,这样它就可以很好地与我正在使用的当前脚本一起工作。我还需要它来为选择的尽可能多的文件调用该函数。

如何允许用户使用 php 和 jquery 从单个输入字段中选择多个文件,并且仍然可以使用我当前的脚本?

4

4 回答 4

1

在 HTML 表单输入元素中使用“多个”属性。

例如:

<input type="file" name="attacheDocument" multiple="multiple" />

返回文件数组。

于 2014-05-26T13:08:18.430 回答
0

使用 jquery 多文件上传插件。这很简单。请参考以下链接

http://www.fyneworks.com/jquery/multiple-file-upload/

于 2011-11-14T23:42:25.680 回答
0

I recommend you http://valums.com/ajax-upload/

It is something difficult to make it works, but the results is awesome. Allow:

.- Multiple files
.- Progress bar

This plugin contains a php script that can be easily modified. Just test it in the page I showed you.

于 2011-11-14T23:30:25.527 回答
0

请参阅这个很棒的教程,展示如何在 php.ini 中使用多文件 jquery 插件。请注意,您必须遍历 php 代码中的文件(请参阅上面提到的教程。)

于 2011-11-14T23:23:41.303 回答