Ubuntu - AJAX文件上传成功但没有上传文件

时间:2014-09-12 17:58:33

标签: php jquery mysql ajax ubuntu

我想请求Ubuntu下通过AJAX上传文件的帮助,我安装了单独的apache,mysql和php服务器(不是灯包捆绑包),我想在要发送的表单中添加文件上传选项没有页面刷新。

我尝试了不同的方法,到目前为止,使用stackoverflow用户-Aitazaz Khan发布的代码获得了最佳结果(发布为对file is not uploading in ajax php mysql问题的回复)。

为了避免检查该帖子只是为了查看我在此处重新发布代码的代码,将在代码下面发布我的问题(代码是由Vicky和Aitazaz Khan的脚本最初发布的代码):

表格

<form name="multiform" id="multiform" action="process.php" method="POST" enctype="multipart/form-data">
           name : <input type="text" name="name" id="name"/>
           </br>
           message : <input type="text" name="message" id="message" />
           </br>
           Image : <input type="file" name="file" id="file" />
</form>
           <input  type="button" id="multi-post" value="Run Code"></input>
           <div id="multi-msg"></div>

脚本

<script type="text/javascript">
$(document).ready(function(){
$("#multiform").submit(function(e)
{
    var formObj = $(this);
    var formURL = formObj.attr("action");

if(window.FormData !== undefined)  
    {
        var formData = new FormData(this);
        $.ajax({
            url: formURL,
            type: 'POST',
            data:  formData,
            mimeType:"multipart/form-data",
            contentType: false,
            cache: false,
            processData:false,
            success: function(data, textStatus, jqXHR)
            {
                    $("#multi-msg").html('<pre><code>'+data+'</code></pre>');
            },
            error: function(jqXHR, textStatus, errorThrown) 
            {
                $("#multi-msg").html('<pre><code class="prettyprint">AJAX Request Failed<br/> textStatus='+textStatus+', errorThrown='+errorThrown+'</code></pre>');
            }           
       });
        e.preventDefault();
        e.unbind();
   }
});
$("#multi-post").click(function()
    {
    //sending form from here
    $("#multiform").submit();
});

});

</script>

和PHP

<?php
  mysql_connect("localhost","root","");
  mysql_select_db("ajaxdatabase");

  $name=$_POST["name"];
  $message=$_POST["message"];
  //storing file in filename variable
    $fileName = $_FILES['file']['name'];
    //destination dir
    $to="image/".$fileName;

    move_uploaded_file($_FILES['file']['tmp_name'],$to);

  $query=mysql_query("INSERT INTO common(name,message,destination) values('$name','$message','$to') ");

  if($query){
    echo "Your comment has been sent";
  }
  else{
    echo "Error in sending your comment";
  }

?>

问题是:上传文件后,我收到“你的评论已发送”消息,在数据库中,我可以看到所有字段(包括文件的位置)都已保存,但物理上文件未保存。

我的问题是:这与文件/目录权限有关吗?从Vicky发布的内容来看,代码应该正常工作。

在stackoverflow上发布,我认为它与编程有关,而不是Ubuntu系统本身。

我将不胜感激。

最好的问候。

0 个答案:

没有答案