【问题标题】:PhP File upload works on my phone but not my PCPhP文件上传适用于我的手机,但不适用于我的PC
【发布时间】:2013-07-07 18:40:53
【问题描述】:

我有以下 PHP 脚本处理我的表单。

为什么我在指定位置看不到文件?

我在文件位置方面做错了吗?

<html>
<head>
    <title>Upload</title>
</head>
<body>
    <form enctype="multipart/form-data" action="uploadFile.php" method="post">
        <input type="file" name="file" id="file">
        <br>
        <input type="submit">
    </form>
</body>

<?php

    echo "Processing...<br>";

    $fileResult = "";
    if($_FILES["file"]["error"] > 0)
    {
        $fileResult .= "No File Uploaded";
        $fileResult .= "Error Code: " + $_FILES["file"]["error"];
    } else
    {
        $fileResult .= 
        "Upload:" . $_FILES["file"]["name"] . "<br>" .
        "Type:" . $_FILES["file"]["type"] . "<br>" . 
        "Size:" . $_FILES["file"]["size"] . "<br>" .
        "Temp File:" . $_FILES["file"]["tmp_name"] . "<br>";

        move_uploaded_file($_FILES["file"]["tmp_name"], "/home6/schne.../public_html/FileStore/Data/". $_FILES["file"]["name"]);


        $fileResult .= "File Uploaded";
    }

    echo $fileResult;


?>

【问题讨论】:

  • PHP 在哪里运行脚本并不重要,只要它托管在某个地方即可。我的猜测,从您上传文件的位置 - 明智的目录

标签: php forms file upload


【解决方案1】:

如果问题不在服务器端,那么有两个地方很容易出错。

您可能忘记了表单中的enctype 属性。您的上传表单应如下所示:

<form method='post' enctype='multipart/form-data'>

另外,请确保您在 $_POST 数组中提交了 MAX_FILE_SIZE

<input type='hidden' name='MAX_FILE_SIZE' value='100000' />

【讨论】:

  • 你也有最大文件大小吗?
  • 等等,这实际上是问题所在,我有 enctype='multipart/form_data' 而不是 enctype='multipart/form-data'
  • 哇哦,这很棘手。我可以发誓他们是一样的。不得不使用我的“沃尔多在哪里”技能来找到不同之处。无论如何,这很好。欢迎来到 SO,社区感谢已解决的答案。 ;)
  • 另外,OP 中的 HTML 是正确的版本,显然,这对未来的读者有点误导......
猜你喜欢
  • 2020-12-08
  • 1970-01-01
  • 2011-11-04
  • 2012-08-02
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
  • 2014-03-22
  • 1970-01-01
相关资源
最近更新 更多