使用FileData Object上载文件

时间:2013-02-09 10:18:28

标签: php jquery

我想创建一个uploadscript。这是我的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。 有什么想法吗?

2 个答案:

答案 0 :(得分: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'),直到找到指向它的正确方法

答案 1 :(得分:0)

尝试提供目标文件夹的完整路径。不只是/files,而是getcwd() . DIRECTORY_SEPARATOR . 'files'