1

アップロードスクリプトを作成したい。これは私のJSです:

$("#subUpload").live("change", function(){
    var fd = new FormData();
    var file = this.files[0];
    fd.append("subUpload", file);

    $.ajax({
      type: 'POST',
      cache: false,
      url: "script.php",
      processData: false,
      contentType: false,
      data: fd,
      success: function(data){
        alert("Message: " + data);
      }
    });
});

そしてこれは私のPHPです:

<?php
    if($_FILES['subUpload']['error'] == 0){
        if(is_dir('./files')){
            if(move_uploaded_file($_FILES['subUpload']['tmp_name'], '/files/'.$_FILES['subUpload']['tmp_name'])){
                echo"UPLOADED";
            }else{
                echo"FAIL";
            }
        }
        else{
            echo "Uncorrect Path";
        }
    }
    else{
        echo $_FILES['subUpload']['error'];
    }
?>

常に「FAIL」というメッセージが表示されます。フォルダのアクセス許可を777に設定しました。何かアイデアはありますか?

4

2 に答える 2

1
bool move_uploaded_file ( string $filename , string $destination )

フォルダだけでなく、そのファイルに名前を付ける必要があります

http://php.net/manual/fr/function.move-uploaded-file.phpを参照してください

 (move_uploaded_file($_FILES['subUpload']['tmp_name'], '/files/'.$_FILES['subUpload']['name'])

さらに問題がある場合is_dir('/files')は、それを指す正しい方法が見つかるまで確認してください

于 2013-02-09T10:34:29.963 に答える
0

宛先フォルダへのフルパスを指定してみてください。だけで/filesなく、たとえばgetcwd() . DIRECTORY_SEPARATOR . 'files'

于 2013-02-09T10:24:07.260 に答える