首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多文件上传

多文件上传
EN

Stack Overflow用户
提问于 2014-10-20 10:32:07
回答 1查看 58关注 0票数 0

寻找以下解决方案:

表单html / php提供了添加多个图形文件(最多11个文件,最多5MB)的能力。

当发送到服务器时,脚本应该执行以下操作:

  • 检查文件是否有良好的扩展名(jpg,png);
  • 根据公式< string至多32个字符> _< 000至010 >重新命名每个文件。<可拓>;
  • 向表中添加文件名(一个文件=一列、一行);
  • 压缩到最大分辨率为1280x1024;
  • 在保持相同比例的同时,改变4: 3图像上的图形比例;
  • 缩小文件的大小,并保存到适当的文件夹中的服务器。

我对可能容易使用的解决方案感兴趣。

非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-20 10:52:41

试试吧,

HTML代码

代码语言:javascript
复制
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Multiple File Ppload with PHP</title>
</head>
<body>
  <form action="" method="post" enctype="multipart/form-data">
    <input type="file" id="file" name="files[]" multiple="multiple" accept="image/*" />
  <input type="submit" value="Upload!" />
</form>
</body>
</html>

PHP代码

代码语言:javascript
复制
<?php
$valid_formats = array("jpg", "png");
$max_file_size = 1280*1024; 
$path = "uploads/"; // Upload directory
$count = 0;

if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
    // Loop $_FILES to exeicute all files
    foreach ($_FILES['files']['name'] as $f => $name) {     
        if ($_FILES['files']['error'][$f] == 4) {
            continue; // Skip file if any error found
        }          
        if ($_FILES['files']['error'][$f] == 0) {              
            if ($_FILES['files']['size'][$f] > $max_file_size) {
                $message[] = "$name is too large!.";
                continue; // Skip large files
            }
            elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
                $message[] = "$name is not a valid format";
                continue; // Skip invalid file formats
            }
            else{ // No error found! Move uploaded files 
                if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))
                $count++; // Number of successfully uploaded file
            }
        }
    }
}
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26463534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档