您好我很难使用move_uploaded_file函数将文件传递到新位置。我正在使用ajax将函数传递给我的process.php。 希望你能帮帮我。
这是我的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";
这是我的ajax表单。
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 :(得分:0)
我不确定这是否会按预期运作。您的表单永远不会“提交”,因此您的文件不会上传,也不会处理您上传的文件。您可能设法POST文件的文件名,但这就是全部。
你需要:
您上传的文件将存在于“临时”目录中,上传后会带有“临时”文件名,您需要从$ _FILES数组中获取该数据。您可以使用move_uploaded_file
将临时文件移动到其最终目的地。
我不确定你能否'ajax'这个过程的大部分内容。