Javascript 文件赢得';不能使用Ajax PHP移动到其他位置

Javascript 文件赢得';不能使用Ajax PHP移动到其他位置,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我试图上传一个文件,并将其移动到一个文件夹按钮点击使用Ajax和PHP。如果成功,则返回true,但上载的文件不会移动到目标文件夹。下面是Ajax上传的一个片段 btnsubmit = $(".submit"); //the function for handling button click btnsubmit.click(function(){ var file_data = $('#uploaded_img').prop('files')[0];

我试图上传一个文件,并将其移动到一个文件夹按钮点击使用Ajax和PHP。如果成功,则返回true,但上载的文件不会移动到目标文件夹。下面是Ajax上传的一个片段

btnsubmit   = $(".submit");

//the function for handling button click
     btnsubmit.click(function(){
            var file_data = $('#uploaded_img').prop('files')[0];   
            var form_data = new FormData();                  
            form_data.append('file', file_data);

            $.ajax({
                url: 'upload_img_custom.php',
                cache: false,
                contentType: false,
                processData: false,
                data: form_data,                         
                type: 'POST',
                success: function(php_script_response){
                    alert(php_script_response);
                }
            });
        });
这是PHP文件

<?php
    $upload_directory = "../uploads/Customized/";
    if (isset($_FILES['uploaded_img']))
    {
        $uploadedFileName=$_FILES['uploaded_img']['name'];
        $targetPath=time().$uploadedFileName; //time is concatenated to make filenames unique
        if($uploadedFileName != '')
        {
            $targetPath=time().$uploadedFileName;
            move_uploaded_file($uploadedFileName, $upload_directory."".$targetPath);
        }
    }
    header('Location: customize.php?upload=success');
?>

HTML(仅是重要部分)


形象
//用于显示上载图像的div
在蛋糕顶部选择您想要的:
添加到购物车
我已经检查了上传的限制。我试图上传的文件只有170KB。我设定的极限是20米。
“自定义”文件夹位于xampp htdocs中此项目的另一个文件夹中。

由于您将文件命名为变量“file”(JS),因此在PHP代码中也应使用“file”:

if (isset($_FILES['file']))

或者更改JS部分:

form_data.append('uploaded_img', file_data);
您需要移动临时文件名,而不是原始文件名:

move_uploaded_file($_FILES['file']['tmp_name'], $upload_directory . $targetPath);

您是否检查了请求参数?所有值都将发送到服务器。。还有你应该放新文件的文件夹的权限?@Vincent我没有。如何做到这一点?您可以从浏览器控制台检查是否所有表单值都被发送到服务器端,或者只需执行
print\r($\u文件);退出()
在PHP代码中,查看是否有任何错误消息。我认为在AJAX答案中使用
header()
不是一个好主意,因为您的JS代码正在等待一些字符串响应。此外,
move\u uploaded\u file()
中的
可能是一个
“/”
@BurninLeo,我会试试你的建议。顺便说一句,我正试图将目标和文件夹连接在一起,这就是我使用“”的原因。谢谢!天哪,我就因为这个浪费了这么多时间。这是因为我从复制函数中复制了该语法!
form_data.append('uploaded_img', file_data);
move_uploaded_file($_FILES['file']['tmp_name'], $upload_directory . $targetPath);