$ _FILES我没有收到表格中的所有信息

时间:2017-07-10 12:17:42

标签: php

我从php表单中获取图像,但我没有从表单中收集所有信息。 代码如下:

<form action="pages/post/upload.php" enctype='multipart/form-data' method="post">
    <input type="file" name="userfile" required/>
    <input type="submit" name="send" value="Invia"/>
</form>
<?php
$uploaddir = '/home/pino/Scrivania/Prova/upload/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

print_r($_FILES['userfile']['name']);
print_r($uploadfile);
print_r($_FILES['userfile']['tmp_name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) 
{
    echo "File is valid, and was successfully uploaded.\n";
} 

else {
    echo "Possibile attacco tramite file upload!\n";
}

echo 'Alcune informazioni di debug:';
print_r($_FILES);

print "</pre>";

?>

当我使用print_R($_FILES);打印文件内容时,我会回复以下内容:

Array
(
    [userfile] => Array
    (
        [name] => IMG_20170318_072135.jpg
        [type] => 
        [tmp_name] => 
        [error] => 1
        [size] => 0
    )

2 个答案:

答案 0 :(得分:0)

您的文件超出了大小限制(来源:http://php.net/manual/en/features.file-upload.errors.php

  

UPLOAD_ERR_INI_SIZE

     

价值:1;上传的文件超出了php.ini中的upload_max_filesize指令。

答案 1 :(得分:0)

您的数组似乎是$_FILES返回[error] => 1所以它与文件上传大小有关。

  1. 您需要检查文件上传大小。使用phpinfo()检查文件大小。

  2. 如果upload_max_filesize小于您上传的文件大小,请将文件大小更改为图片文件大小。

  3. 如果upload_max_filesize合适,则需要检查post_max_size档案中的php.ini变量

  4. 例如:

    upload_max_filesize = 7M
    

    注意:

    • 如果您正在处理localhost,则php.ini中存在wamp\bin\apache\apache2.4.9\bin文件。
    • 此外,您可以在任何php文件中编写phpinfo()并运行它以检查服务器配置。