PHP多文件上传

时间:2013-01-26 22:07:12

标签: php file-upload

我的截止日期很紧,需要将文件上传脚本与我编写的管理面板集成。

基本上用户需要能够上传多个我可以用PHP处理的图像。我可以使用多个input标签,但如果他们想要上传10张图片,那将是一个巨大的麻烦(这将是常态)。

这里的主要问题是我不知道Javascript,Java或Flash,用户需要使用Internet Explorer< 10所以HTML5无法使用。我对PHP,MYSQL,HTML,CSS有所了解,但它对客户端没有帮助。

我看了很多解决方案,并且花了很多时间试图找到解决方案。我需要能够与我现有知识整合的东西,我没有时间学习Javascript。这就是为什么我在尝试集成plupload,SWFupload和uploadify等完全成熟的系统时遇到了很多麻烦。

我尝试了一个多小时才能让uploadify工作,但这并不好玩。

如果有人有简单的解决方案,请告诉我。我只是希望能够使用一个input标记上传多个文件。没有调整大小,没有闪存接口,因为这将由服务器使用我的脚本处理。用户必须能够一次选择多个图像。

2 个答案:

答案 0 :(得分:7)

可以选择多个文件,然后使用
上传  <input type='file' name='file[]' multiple>
执行上传的示例php脚本:

<html>
<title>Upload</title>
<?php
    session_start();
    $target=$_POST['directory'];
        if($target[strlen($target)-1]!='/')
                $target=$target.'/';
            $count=0;
            foreach ($_FILES['file']['name'] as $filename) 
            {
                $temp=$target;
                $tmp=$_FILES['file']['tmp_name'][$count];
                $count=$count + 1;
                $temp=$temp.basename($filename);
                move_uploaded_file($tmp,$temp);
                $temp='';
                $tmp='';
            }
    header("location:../../views/upload.php");
?>
</html>

所选文件以

的数组形式接收

$_FILES['file']['name'][0]存储第一个文件的名称 $_FILES['file']['name'][1]存储第二个文件的名称 等等。


信用:

Multiple file upload in php
Uploading Tutorial

答案 1 :(得分:0)

对于最近的一个项目,我经历了同样的过程,尝试了目前可用的插件,允许多次上传,而不需要flash或HTML5,我遇到了这个jQuery插件: MultiFile 1.48 在盒子外面看起来有点难看,但是对CSS进行大量编辑,它看​​起来不错。我还编辑了JS以包含取消上传等功能,但在执行此操作之前,您需要了解JavaScript / jQuery。