我想要任何可以演示如何在PHP中上传多个文件的php脚本。 在我的应用程序中,我给了一个链接“添加图像”和“删除图像”,单击“添加图像”后,我正在使用javascript在页面上添加一个新的上传字段,用户可以使用它来上传越来越多的图像,没有限制目前的图像数量。 在单击删除时,我正在删除该元素。

我只是不了解如何在PHP的POST请求中处理它们的概念。 我知道在HTML中,如果我们给定像myimages[]这样的字段名称,那么它将创建一个PHP数组,但是如何处理它。

我不想使用AJAX / JavaScript进行上传,而是希望使用PHP中的传统POST请求来进行上传。

如果任何人有任何显示此类功能的链接或代码,那么请提供该链接或代码将非常有帮助。

谢谢!

#1楼 票数:3

结合此上传多个文件move_uploaded_file

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Send these files:<br />
  <input name="userfile[]" type="file" /><br />
  <input name="userfile[]" type="file" /><br />
  <input type="submit" value="Send files" />
</form>

$uploads_dir = '/uploads';
foreach ($_FILES["userfile"]["error"] as $key => $error) 
{
    if ($error == UPLOAD_ERR_OK) 
    {
        $tmp_name = $_FILES["userfile"]["tmp_name"][$key];
        $name = $_FILES["userfile"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}

#2楼 票数:2

上传的文件不在POST数组中,而是在FILES数组中。 http://www.php.net/manual/zh/features.file-upload.multiple.php

这些文件将以“安全”名称上传到临时区域。 该数组将包含文件名和tmp文件。 然后,您可以将它们移动到所需位置。

#3楼 票数:1 已采纳

在HTML中将文件输入字段命名为file [],然后在PHP中从0 do count($ _ FILES)开始运行循环...

for($i = 0; $i < count($_FILES['file']['tmp_name']); $i++){
    $tmp = $_FILES['file']['tmp_name'][$i];
    $name = md5(microtime());

 if(move_uploaded_file($tmp, "dir/$name.jpg")){
    echo "File '$tmp' uploaded successfully";
 }else{
    echo "Uploading '$tmp' failed";
 }
}

#4楼 票数:1

我过去实现了类似的方法,如下所示:

  1. 有一个隐藏的JavaScript表单变量(例如:“ numuploads”),用于存储当前表单中文件输入的数量。 在前端添加/删除输入时,需要对此进行递增/递减。

  2. 使用诸如“ upload_X”之类的模式命名前端的每个输入,其中X是序列中的下一个。 (实际上与-1以上的计数器相同。)

  3. 在PHP登陆页面上,只需扫描$ _FILES超全局变量 ,查找每个“ upload_X”,其中X到numuploads-1为零。

然后,您可以为每个上载的文件,其他表单元素等执行所需的逻辑。

  ask by Prashant translate from so

未解决问题?本站智能推荐:

1回复

发布带有文件上传的表单后,如何保留上传的文件?

上传的文件上传后是否可以保留? 我正在构建一个电子邮件编辑器应用程序。 用户可以将文件作为附件上传。 有时在 10 个上传的文件中,其中一个没有正确上传,或者提交的表单无效。 然后撰写页面将再次显示。 但是,用户这次需要再次上传文件。 是否可以在第一次上传时以某种方式维护上传的文件,如果表单无效,
1回复

文件上传永远都行不通

我有以下标记: 该页面基本上是几个设置,所有设置都在按下“保存”按钮时提交。 这是一个asp:Button ,它导致Page_Load发生,从而擦除了FileUpload控件,从而使其始终具有HasFile属性为false 。 我知道FileUpload控件很乱,我可能应该使用其
1回复

文件上传不适用于ASP.Net中的AsyncPostBackTrigger

我有一个html文件上传控件,用于上传个人资料图片,并且使用的是更新面板和AsyncPostBackTrigger触发器。 如果我使用PostBackTrigger,则可以上传个人资料图片,但是如果我使用AsyncPostBackTrigger,则不能上传。 下面是我的代码内联:
4回复

asp:上传发布文件在回发期间丢失

我正在使用asp:upload控件上载图像,并正在使用postdfile属性插入数据库的路径。 在我的表单中,我有一个带有autopostback = true的下拉菜单,用户可以在其中选择一个主题来填充类别的复选框列表。 在该回发过程中,postfile的值丢失了,经过一番研究,我发现出于
3回复

ASP.Net 文件上传导致使用触发器在更新面板中回发

我有文件上传控件,可以使用更新面板上传个人资料图片。 我已经将 AsyncPostBackTrigger 与更新面板一起使用,但该页面仍然导致完整回发。 下面是我的内联代码。 任何人都可以帮忙吗?
1回复

用ajax和php上传文件

我有我的php文件的完整脚本。 它是一个带浏览按钮的dataTable,用于向数据库添加新视频并将其重新加载到DataTable中 问题是在数据库中创建了条目,但文件从未从其原始位置复制到库/视频文件夹。 我已经尝试并尝试过脚趾甲,它似乎从未执行过php move_uploaded
1回复

PHP AJAX多个文件,选择后自动上传

我正在尝试为音频文件(如soundcloud,hulkshare,...具有用于上传文件的音频文件)创建上传表单。 它是如何工作的= 您单击上载按钮。 您选择多个文件。 在按ENTER或OPEN(windows)后,文件开始按字母顺序上载,并且每个文件都有自己的进
2回复

在PHP中上传多个文件

我想知道是否有人可以帮助我。 使用一些优秀的在线教程,我将下面的代码放在一起,允许用户将图像文件上传到服务器文件夹,并将文件名和其他详细信息上传到mySQL数据库。 PHP脚本 HTML表单 这一切都很好,但我现在想扩展允许用户一次上传多个文件的功能。 我已经做了一