php - 有没有一种特定的方法可以在一个输入中上传超过 30 张照片,而不增加最大上传大小?
问题描述
我正在开发一个页面,您可以在其中上传大量图片。这个想法是您可以上传任意数量的照片。我知道有上传限制、内存限制等等……但是我的服务器不允许我修改 php.ini。然后,我的内存是 256mb,最大大小是 25mb。从逻辑上讲,我不能上传超过 25mb 的照片。但是,我看到它可以通过 FTP 完成。但我试图避免这种方法:我无法让它发挥作用。
我正在考虑切换到具有 1gb 内存和 1tb 传输的服务器(我不知道这是否会成功!)。
我的代码错了吗?如果没有,有没有办法在服务器不停机的情况下上传至少 20 张照片?可能这个问题已经被问过了,但是我在冲浪论坛上发现的一切都是旧的,对我没有任何帮助。对不起,如果这是一个重复和烦人的问题。如果有人可以帮助我,我将不胜感激。
(我删除了一些不重要的代码部分,因为有太多不必要的行,例如添加水印)
这是针对 PHP7 的。我尝试使用 FTP,但无法正确传输,我仍在学习。
if (isset($_FILES["file"]))
{
for($x=0; $x<count($_FILES["file"]["name"]); $x++)
{
$file = $_FILES["file"];
$codigosec = rand(0, 5000);
$codigotres = rand(0, 5000);
$nombre = $file["name"][$x];
$tipo = $file["type"][$x];
$ruta_provisional = $file["tmp_name"][$x];
$size = $file["size"][$x];
if ($tipo != 'image/jpeg' && $tipo != 'image/jpg' && $tipo != 'image/png' && $tipo != 'image/gif')
{
echo "no es una imagen";
}
else
{
$src = (path);
move_uploaded_file($ruta_provisional, $src);
}
}
}
我希望找到一种方法可以在一个表单中上传至少 20-30 张照片,而不直接依赖于服务器内存。如果只能通过 FTP 完成,或者我不得不辞职增加内存,那就足够了。先感谢您
解决方案
据我所知,无需修改 php.ini (upload_max_filesize) 作为您所需的大小。->如果文件大小小于upload_max_filesize,则无法上传文件,因为如果您尝试将文件上传到服务器,服务器核心配置php.ini文件将不允许上传文件。
->每个文件的大小应该小于 php.ini 中的 upload_max_filesize。
-> 使用 FTP 的另一种最佳方式。
推荐阅读
- sql-server - 动态将多行转换为具有多列的一行,pivot 似乎不起作用
- laravel - Laravel 集合组按类似类别名称
- sql - 从表中拉出一个子群体
- javascript - 在从异步函数内部调用它们时,是否有任何理由更喜欢 node.js 中函数的异步版本?
- ember.js - 未捕获的 TypeError:scope.observeChanges 不是函数
- sql - 如何在 Postgres 函数中存储日期变量?
- javascript - 在 forEach 循环中修改对象属性
- drupal-8 - drupal 8中视图节点上基于角色的访问控制
- python - Kivy:单选按钮正确实现
- python - 使用相同掩码的 ndarray 的布尔掩码内部尺寸