$ _FILES php,我没有收到任何文件或信息

时间:2017-07-10 05:55:16

标签: php html

我正在使用图片上传器,但我没有从html表单中收集任何文件或信息。 所以,这是html代码:

<html>
<head><title></title></head>
<body>
    <div id="page">
        <div id="content">
            <form action="pages/post/upload.php" method="post">
                <input type="file" name="userfile" required/>
                <input type="submit" name="send" value="Invia"/>
            </form>
        </div>
    </div>
</body>
</html> 

这是php代码

<?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 "Invalid File!\n";
}

echo 'Any information to debug:';
print_r($_FILES);

print "</pre>";
?>

我试图打印$ _FILES数组的任何信息但我没有收到任何信息。

有声明或导入来源的具体信息吗?

1 个答案:

答案 0 :(得分:4)

请在enctype="multipart/form-data"代码

中添加<form>属性

enctype =&#39; multipart / form-data&#39; - 是一种允许通过POST发送文件的编码类型。意味着不会编码任何字符。这就是为什么在将文件上传到服务器时使用此类型的原因。

HTML代码

<html>
<head><title></title></head>
<body>
    <div id="page">
        <div id="content">
            <form action="pages/post/upload.php" method="post" enctype="multipart/form-data">
                <input type="file" name="userfile" required/>
                <input type="submit" name="send" value="Invia"/>
            </form>
        </div>
    </div>
</body>
</html>