Php上传页面不上传

时间:2014-05-10 12:36:43

标签: php html5 file-upload

我创建了一个简单的php页面来上传文件但是,它不起作用。我的消息确定但是如果我输入文件夹“prova”则没有... 该文件夹设置为777,此处有代码

<html>
<head>
   ...
</head>
<body>
    <form action="importazione.php?a=1" method="post" enctype="multipart/form-data">
        <label for="file">Filename:</label>
        <input type="file" name="file" id="file"><br>
        <input type="submit" name="Aggiorna" value="Submit">
    </form>
    <?php
    $messaggio= $_GET['a'];
    define("UPLOAD_DIR", "/home/me/Scrivania/prova");
    if ($messaggio == 1)
    {
        $allowedExts = array("txt");
        $temp = explode(".", $_FILES["file"]["name"]);
        $extension = end($temp);
        if ( $temp[1] == "txt") {
            if ($_FILES["file"]["error"] > 0) {
                echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
            } 
            else {
                if(isset($_FILES['file']))
                {
                    $file = $_FILES['file'];
                    if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
                    {
                        move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
                        echo "OK";
                    }
                }
            }
        } 
        else {
            echo "Invalid file";
        }
    }
    ?>
</body>

2 个答案:

答案 0 :(得分:2)

改变这个:

define("UPLOAD_DIR", "/home/me/Scrivania/prova");

对此:

define("UPLOAD_DIR", "/home/me/Scrivania/prova/");

在我的服务器上测试你的脚本并且运行正常,只需要在末尾需要额外的斜杠,因为要将文件上传到的位置的URL转换为:

/home/me/Scrivania/provafile.txt

什么时候应该

/home/me/Scrivania/prova/file.txt

- 编辑 -

此外,如果您打算使用ext数组,请将if语句更改为以下内容:

if ( in_array($temp[1], $allowedExts) ) {

答案 1 :(得分:1)

更改此

move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);

到这个

move_uploaded_file($_FILES['file']['tmp_name'], UPLOAD_DIR.'/'.$_FILES['file']['name']);