【问题标题】:HTML form file not uploadingHTML 表单文件未上传
【发布时间】:2014-01-10 21:29:32
【问题描述】:

我有一个如下的 HTML 表单:

<form id="addTrack" action="/worship/script/upload.php" method="post" enctype="multipart/form-data">
    <label>File:</label>
    <input type="file" name="uploaded" id="addTrackFile"/>
    <label>Key Title: </label>
    <input type="text" name="title" id="addTrackTitle"/>
    <input type="hidden" name="id" id="addTrackId"/><br>
</form>
<button onclick="uploadAddTrack()">Upload</button>
<button onclick="closeAddTrack()">Close</button>

当我提交表单时,文件会正确上传到服务器,但是当它被重定向到 PHP 操作脚本时,它会在第一个错误捕获时停止。然后脚本转储$_FILES 变量,它作为一个空数组返回。正如你在下面的代码中看到的,我也让它回显了错误,但它也回显了一个空字符串。

为什么我没有在 $_FILES 数组中获得文件?

我的 PHP 代码:

$id=$_POST["id"];
$name=$_POST["title"];

$name = str_replace(" ","",$name);

$allowed_filetypes = array('.mp3','.m4a','.wav','.wma');

$filename = $_FILES['uploaded']['name'];
$ext = substr($filename, strpos($filename,'.'), strlen($filename)-1);

$target = "../audio/"; 
$target = $target . $id. "_".$name.$ext; 
$ok=1; 

if ($_FILES['uploaded']['error'] !== UPLOAD_ERR_OK) {
    //------------This is where it gets stopped-----------------//

        var_dump($_FILES);
    echo $_FILES["uploaded"]["error"];
    return;
}

if(!in_array($ext,$allowed_filetypes))
die("This file type is not allowed");

if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
{
include("updateDB.php");

header("Location:/worship/cpanel/?autoload=$id");
} 

我上传的文件大小为 9mb。

我的 php.ini 相关信息

file_uploads:开启

上传最大文件大小:25M

upload_tmp_dir: 没有值

max_post_size: 8M

【问题讨论】:

  • 您要上传的目录是否可写?
  • 我不知道。如何检查?
  • 您是通过 ajax 发送表单还是通过什么触发器提交?
  • 取决于服务器运行的操作系统。如果是 linux,您将导航到父目录,然后运行 ​​ls -l 。如果是windows服务器,右键目录,查看IIS_USR账号的权限
  • @mituw16 目录权限为0755。

标签: php file-upload forms php-ini


【解决方案1】:

检查你的 PHP.ini 文件。确保 POST 大小大于 8M。因为这是默认设置,您发送的信息为 9MB。

 `; Maximum size of POST data that PHP will accept.

post_max_size = 8M`

【讨论】:

    猜你喜欢
    • 2016-05-01
    • 2010-12-05
    • 2019-06-30
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多