I know already got question for this problem but i still cant did it properly. Need some help.
I need to upload a file with additional data with it.
my input.php:
<input type="file" id="foto_path" name="foto_path" />
<input type="button" value="Add" onclick="javascript:sendForm()" />
I send that with javascript :
function sendForm() {
var fileInput = document.querySelector('#foto_path');
var oMyForm = new FormData();
var nip=123223374;//it will be generated by php, for temporary i just hardcode it
oMyForm.append("foto_path", fileInput);
oMyForm.append("nip",nip );
var oReq = new XMLHttpRequest();
oReq.open("POST", "upload-file.php", true);
oReq.onload = function(oEvent) {
if (oReq.status == 200) {
//oOutput.innerHTML = "Uploaded!";
alert('success');
} else {
//oOutput.innerHTML = "Error " + oReq.status + " occurred uploading your file.<br \/>";
alert('failed');
}
};
oReq.send(oMyForm);
}
and when I send that to upload-file.php:
logapp("post -> ".print_r($_POST,true));//logapp is just function to log to file
logapp("files -> ".print_r($_FILES,true));
I got this from log:
09/07/2013 02:47:06 pm :: post -> Array
(
[foto_path] => [object HTMLImageElement]
[nip] => 123223374
)
09/07/2013 02:47:06 pm :: files -> Array
(
)
I got success alert but I need to get files for foto_path
as $_FILES
not $_POST
.
My Question is why input files detected as $_POST["foto_path"]
not as $_FILES["foto_path"]
. How to change that to $_FILES["foto_path"]
so I can start work with the files uploaded?