PHP多文件上传

标签 php file-upload

我的截止日期非常紧迫,需要获得一个与我编写的管理面板集成的文件上传脚本。

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

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

我研究了很多解决方案,并花了很多时间自己寻找解决方案。我需要一些可以与我当前知识相结合的东西,我没有时间学习 Javascript。这就是为什么我在尝试集成完全成熟的系统(如 plupload、SWFupload 和 uploadify)时遇到这么多麻烦。

我尝试了一个多小时让 uploadify 开始工作,但效果并不好。

如果有人有简单的解决方案,请告诉我。我只是希望能够使用一个 input 标签上传多个文件。没有调整大小,没有 flash 界面,因为这一切都将由服务器使用我的脚本处理。不过,用户必须能够一次选择多张图片。

最佳答案

可以选择多个文件,然后使用
上传 <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

关于PHP多文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14542068/

相关文章:

php - 上传的文件应该重命名吗?

php - 自动完成数据分类

php - 更新数据库表行

php - PHP 的 RSS Feed 消耗

ruby-on-rails - uploader 产生关于它应该存储路径的列的错误

http - 通过网络传输文件的最快方式是什么(FTP、HTTP、RSync 等)

php - 显示和选择 mysql 的快捷方式,无需对每个变量使用 mysql_fetch_array

php - 升级 macOs Sierra 后 apache 不工作

在 php.ini 上更改 upload_max_filesize 后,PHP 文件上传大小受到限制

javascript - 在 Chrome 扩展程序中自动下载并上传文件