可以';t上传文件(pdf、jpg等)


Can't upload file (pdf, jpg, etc)

我想创建一个表单,只需上传图片、pdf和文档。因此,我创建了以下表单:

<form method="post" action="index.php?op=editpress&save=1" enctype="multipart/form-data">
<label for="file" class="control-label">Neue Datei hochladen:</label>
<input type="file" id="file" name="file">
</form>

PHP代码:

if($_GET['save'] == 1 AND isset($_POST['submit'])) {
    $allowedExts = array("pdf","doc","docx","png","jpg","jpeg","gif");
    $allowedMimeTypes = array('application/msword','application/pdf','image/gif','image/jpeg','image/jpg','image/png');
    $temp = explode(".", $_FILES["file"]["name"]);
    $extension = end($temp);
    if (in_array( $_FILES["file"]["type"], $allowedMimeTypes ) AND (5000000 < $_FILES["file"]["size"]) AND (in_array($extension, $allowedExts)))
    {
    if ($_FILES["file"]["error"] > 0)
    {
        echo "There was an error: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {   
        if (file_exists("../media/presse/" . $_FILES["file"]["name"]))
        {
            unlink("../media/presse/" . $_FILES["file"]["name"]);         
        }
        move_uploaded_file($_FILES["file"]["tmp_name"],"../media/logo/" . $_FILES["file"]["name"]);               
    }
}
else
{
    echo "Here comes the errormessage";
}

当我尝试上传jpg或pdf文件时,我总是从脚本的末尾收到"错误消息"。我尝试了很多方法,但都无法解决这个错误。

你有主意吗?

5000000 < $_FILES["file"]["size"]是您的问题。您正在测试"如果文件大小大于5000000字节"

此外,unlink("../media/presse/" . $_FILES["file"]["name"]);也不是很聪明。相反,您应该生成一个随机字符串,并将其附加在文件nameextension之间,然后上传。