繁体   English   中英

我如何通过 post 传递 formData 对象并在其他 php 文件中接收它

[英]How can i pass formData object through post and receive it in other php file

我如何通过 post 传递 formData 对象并在 php 文件中接收它,尝试通过 ajax php 上传图像文件。

我的 html , js 文件看起来像这样

<input type="file" id="myFileInputId" name="myFileName">

var the_file_that_was_uploaded = profile_image_input.files[0];
var form_data_obj = new FormData();
form_data_obj.append('fileToUpload',the_file_that_was_uploaded); 
form_data_obj.append("id_of_user", myId);
form_data_obj.append("text_of_quake", myTextvalue);

 xhr.onload = function(){

if(this.status == 200){
console.log(this.responseText);
}

};

xhr.onerror = function(){
console.log('Error from server side');
}

xhr.open('POST','myPHPbackEnd.php',true);
xhr.send('some_information='+form_data_obj);

在我的 php 文件中,想要这样做

if(isset( $_POST['some_information'])){

//how to get the file and its porperty
//cannot get to $_FILES['some_information']
//or $_FILES['myFileName']
//or id and text

}

我想获取 formData 对象及其内容并将其传递给下一个 php 文件以执行此类操作,但无法将它们全部关联在一起

$fileName = $_FILES['fileToUpload']['name'];
$fileType = $_FILES['fileToUpload']['type'];
$fileContent = file_get_contents($_FILES['fileToUpload']['tmp_name']);
$dataUrl = 'data:' . $fileType . ';base64,' . base64_encode($fileContent);


$value = $_FILES['fileToUpload']['tmp_name'];
$targetPath = 'temp_image_folder/'.basename($_FILES['fileToUpload']['name']);
move_uploaded_file($value,$targetPath);

将您的 js 代码更改为:

xhr.send(form_data_obj);

然后在你的 php 中做:

if(isset($_FILES['fileToUpload'])){
 
   // do stuff with file
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM