PHP文件上传适用于.text但不适用于.pdf

时间:2014-01-09 13:32:12

标签: php

以下代码适用于.TXT文件,但是当我选择任何.PDF文件时,它不会将其复制到目标路径,有人可以告诉我应该是什么问题。

HTML代码和PHP代码如下:

<form enctype="multipart/form-data" action="upload.php" method="POST">

    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />

    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>




<?php
$uploaddir = 'C:\xampp\htdocs\upload\\';

$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo $uploadfile;
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";

?>

2 个答案:

答案 0 :(得分:1)

$_FILES数组给出的错误编号2表示UPLOAD_ERR_FORM_SIZE。从PHP手册:

  

上传的文件超过了MAX_FILE_SIZE指令   在HTML表单中指定。

在HTML中,您有一个名为MAX_FILE_SIZE的隐藏表单字段。字段值表示上载文件的最大文件大小(以字节为单位)。

调整字段的值或将其删除。我相信这个领域是PHP开发人员尝试实现客户端浏览器检查文件大小,阻止用户上传太大文件。但是到目前为止,仍然没有浏览器强制执行该字段的值。

答案 1 :(得分:0)

您的PDF文件有多大?

您可能正在使用内置MAX_FILE大小的Web服务器(我知道如果使用Apache,您可以更改)。

检查您的网络服务器配置。