通过PHP将文件上传到网站上的文件夹

时间:2011-12-02 19:38:46

标签: php file-upload

我希望用户将pdf上传到我网站上的文件夹。 (注意:这是出于学习目的,因此不需要安全性)我下面的代码在提交时不回应响应。我希望将pdf上传到的文件夹与php脚本位于同一目录中,是否可能是我错误地引用该文件夹?我很感激。

<form method = "POST" action = "<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
Email:<br /> <input type = "text" name="email" value=""/><br />
Resume:<br /><input type = "file" name="resume" value=""/><br />
<p><input type="submit" name ="submit" value="Submit Resume" /></p>
</form>


if(isset($_POST['submit']))
{
    define ("FILEREPOSITORY","./resume/");

    if (is_uploaded_file($_FILES['resume']['tmp_name'])) {
        if ($_FILES['resume']['type'] != "application/pdf") {
            echo "<p>Resume must be in PDF Format.</p>";
        }
    }else {
        $name = $_POST['email'];

        $result = move_uploaded_file($_FILES['resume']['tmp_name'], FILEREPOSITORY."/$name.pdf");

        if ($result == 1) {
            echo "<p>File successfully uploaded.</p>";
        }
        else {
            echo "<p>There was a problem uploading the file.</p>";
        }

    }

}

3 个答案:

答案 0 :(得分:3)

您有逻辑错误。您的else语句应该是内部if语句的一部分 - 而不是外部语句。

答案 1 :(得分:0)

会建议您检查上传文件夹的权限以及php.ini中文件上传的最大大小...它发生在我身上很多次上传超出限制的文件而没有收到错误消息..也是你的if的逻辑与之前的帖子所建议的不一致..

答案 2 :(得分:0)

提供您收到的错误会对您有很大的帮助。

move_uploaded_file()

仅在您有权写入目标文件夹时才有效。