【问题标题】:uploaded files are null上传的文件为空
【发布时间】:2014-11-19 10:18:37
【问题描述】:

我正在尝试通过表单上传图像以将其裁剪到另一个 php 文件中,但是当我上传文件时它似乎没有上传。

这是表格:

<form id="uploadForm" action="cropNsend.php" method="POST" ENCTYPE=”multipart/form-data”>
            <input type="text" id="inputName" name="inputName" value="NAME"><br>
            <input type="text" id="inputTel" name="inputTel" value="TELEFON"><br>
            <input type="text" id="inputmail" name="inputmail" value="EMAIL"><br>
            <input type="text" id="inputAdr" name="inputAdr" value="ADRESSE"><br>
            <input type="file" id="inputPic" name="inputPic"><br>
            <input id="x" type="hidden" name="x" value="130">
            <input id="y" type="hidden" name="y" value="83">
            <input id="w" type="hidden" name="w" value="155">
            <input id="h" type="hidden" name="h" value="155">
</form>

我提交表单 woth javasript vai $("#uploadForm").submit();

一切似乎都可以正常上传,但文件。

这是php代码:

session_start();

define("FILEREPOSITORY", "./");

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{    
   if(isset($_POST["inputName"]) && isset($_POST["inputmail"]) &&
    isset($_POST["inputAdr"]) && isset($_POST["inputTel"]))
  {   
    $_SESSION["x"] = $_POST["x"];
    $_SESSION["y"] = $_POST["y"];
    $_SESSION["width"] = $_POST["w"];
    $_SESSION["height"] = $_POST["h"];
    $_SESSION["inputName"] = $_POST["inputName"];
    $_SESSION["inputmail"] = $_POST["inputmail"];
    $_SESSION["inputTel"] = $_POST["inputTel"];
    $_SESSION["inputAdr"] = $_POST["inputAdr"];

    var_dump($_FILES);
    echo $_FILES["inputPic"]["name"];
    echo $_FILES["inputPic"]["type"];
    echo $_FILES["inputPic"]["size"];   
}

var_dump($_FILES) 是一个数组 (0)。

希望有人可以帮助我

【问题讨论】:

    标签: javascript php file-upload file-io


    【解决方案1】:

    ENCTYPE 的引号是错误的

    <form id="uploadForm" action="" method="POST" ENCTYPE=”multipart/form-data”>
    

    试试这个:

    <form id="uploadForm" action="" method="POST" ENCTYPE="multipart/form-data">
    

    【讨论】:

      【解决方案2】:

      将您的 ENCTYPE="multipart/form-data" 替换为 enctype="multipart/form-data"

      【讨论】:

      • 请复制带有值的整个新标签
      • 你的 multipart/form-data 用“而不是”包装
      【解决方案3】:

      我想将此作为评论,但我是新人,所以代表很低。

      尝试检查您的 apache2/nginx/server 配置文件或什至您的 php.ini 中是否启用了文件上传

      【讨论】:

        【解决方案4】:

        检查 php.ini 并设置更大的限制,例如

        upload_max_filesize = 100M
        post_max_size = 100M
        

        检查 nginx 配置

        client_max_body_size 100m;
        

        别忘了重启服务..

        其他可能的问题可能是由于

        1. 后变量过多
        2. 缺少编码类型
        3. 另一个表单中的表单
        4. 另一个同名输入
        5. Web 服务器的临时文件夹不可访问/不可写

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-06-03
          • 2021-04-30
          • 2018-02-04
          • 2016-10-15
          • 2016-11-10
          • 2011-05-31
          • 1970-01-01
          相关资源
          最近更新 更多