php - 在 PHP 中上传多个文件

标签 php mysql file loops upload


最近遇到PHP上传多文件的问题。
我在某处看到了一些指南如何去做,所以最后我这样结束了:

$total = count($_FILES['ufile']['name'][$i]);
$target = "gallery/";
for($i=0; $i<$total; $i++) {
        if(($_FILES['ufile']['type'][$i]== 'image/jpeg')
        ||($_FILES['ufile']['type'][$i]== 'image/gif')
        ||($_FILES['ufile']['type'][$i]== 'image/png')
        &&($_FILES['ufile']['size'][$i]<2097152)
        &&($_FILES['ufile']['error'][$i] == 0)) {
                $image = $_FILES['ufile']["name"][$i];
                $temp = explode(".", $_FILES['ufile']["name"][$i]);
                $gallery_img[$i] = round(microtime(true)) . '.' . end($temp); //gallery is ready
                $final_gallery[$i] = $gallery_img[$i] . ", ";
                move_uploaded_file($_FILES['ufile']["tmp_name"][$i], $target . $gallery_img[$i]);
                $wszystko_OK = true;
    }
}

不幸的是,它不起作用。我不知道如何修复该代码。甚至可以对数组中的 $_FILES 进行操作吗?我是 PHP 的新手,所以如果你能解释如何去做的话。

$temp = explode(".", $_FILES['ufile']["name"][$i]);
$gallery_img[$i] = round(microtime(true)) . '.' . end($temp);

^此代码当然是为了生成随机文件名,以免它们之间发生任何冲突。

$final_gallery[$i] = $gallery_img[$i] . ", ";

^这实际上是将这些文件名收集到变量中。我希望它看起来像这样:

1502916633.png, 1502916893.png, 1502916926.jpg

然后我会将这个变量插入我的 MySQL 数据库,然后读取它,删除逗号并显示多个图像。 在此先感谢您的帮助!

最佳答案

您在 for() 语句中定义 $i。所以,在它未定义之前。使用 count($_FILES['ufile']);定义 $total。

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

相关文章:

java - 从文件中读取 long[] 的最快方法?

java - 改进解析文本文件的代码

php - PHP while 语句的问题

mysql 一对多表与键值数据库列表

php - 我的网站感染了经过混淆处理的 PHP 恶意软件 - 它在做什么 + 我该如何摆脱它?

mysql - 2 个 Rails 应用程序使用 1 个 MySQL 数据库 - 有哪些风险?

php - 从多维数组中的多个表中获取数据

python 将列表写入文件

php - iconv 不适用于 Docker FPM Alpine

php - 将输入添加到 Stripe 形式