3

そのため、HTMLフォームと単純なphpスクリプトを使用して基本的なアップロードを実行しようとしていますが、move_uploaded_file関数は常にfalseを返します。ディレクトリで「chmod777」を実行しました(実際にこれを機能させると、より安全に対処します)。「upload」ディレクトリはhtdocsフォルダ(実際にはUbuntuServerとLinuxMintでは/var / www)にあります。

フォームは次のとおりです。

<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

...そしてupload_file.php..。

<?php
    if ($_FILES["file"]["error"] == 0){
        if (file_exists("upload/" . $_FILES["file"]["name"])){
            echo $_FILES["file"]["name"] . " already exists. ";
        }else{
            if(move_uploaded_file($_FILES["file"]["tmp_name"],"/var/www/upload/" . $_FILES["file"]["name"])){ 
                echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
            }else{
                echo "Failed to move uploaded file";
            }
        }
    }else{
        echo "Return Code: " . $_FILES["file"]["error"];
    }
?>

小さなJPEGをアップロードしようとすると、「ファイルの移動に失敗しました」というメッセージが表示されます。何かご意見は?

4

1 に答える 1

4

スクリプトは、宛先ディレクトリ(この場合は/ var / www / upload /)(アクセス許可を変更したディレクトリですか?)に書き込める必要があります。また、クライアントのローカル名を使用しているため、問題やセキュリティの問題が発生する可能性があります(ただし、必ずしもここでの理由ではありません)。

于 2012-06-21T19:45:14.797 に答える