2015-07-21 154 views
0

嗨,我很难用move_uploaded_file函数将文件传递到新的位置。我正在使用ajax将函数传递给我的process.php。 希望你能帮助我。如何上传文件在服务器上使用move_uploaded_file

这里是我的process.php

$target_dir = "../files-here/"; 
 
    $filename = $_POST['filename']; 
 
    $path_url = $target_dir .$filename; 
 

 
    if (file_exists($path_url)) { 
 
      echo "Sorry, file already exists."; 
 
      $uploadOk = 0; 
 
     } 
 
     else 
 
     { 
 
      if(move_uploaded_file($filename, $path_url)) 
 
      echo "The file".$filename."has been uploaded";

这是我与阿贾克斯的形式。

echo "<form method='post' enctype='multipart/form-data' id='test_ajax'>"; 
 

 
    echo "<input name='uploadedfile' type='file' id='custom-file-input' class='test-only' /><br/>"; 
 
    echo "</form>"; 
 
    echo '<button value="Upload" id="custom-submit-input">Upload</button>'; 
 

 

 
    <script> 
 
jQuery('#custom-submit-input').click(function(){ 
 
      
 
var filename = jQuery('input[type=file]').val().replace(/.*(\/|\\)/, ''); 
 

 
      jQuery.post("file-here/process.php", {     
 
       filename: filename 
 

 
      }, function(data) { 
 
       console.log(data); 
 
       
 
      }); 
 
    </script>

+0

你只是发送文件名。您应该发送表单数据以上传文件。看看这个http://stackoverflow.com/questions/2320069/jquery-ajax-file-upload –

回答

0

我不知道,当你想到这会工作。您的表单永远不会“提交”,因此您的文件不会上传,而且您也无法处理上传的文件。你可能会设法发布一个文件的文件名,但多数民众赞成在所有。

您需要:

  1. 提交您的形式(使用HTML)
  2. 处理您上传的文件(使用PHP)的常用方法
  3. 将您上传的文件(使用PHP)

上传的文件将存在临时目录中,临时文件名一旦上传,您将需要从$ _FILES数组中获取该数据。您可以使用move_uploaded_file将临时文件移至其最终目的地。

我不确定你可以'ajax'这个过程的大部分。

相关问题