PHP + jQuery AJAX Upload
1. input file tag on event
$('#tmp_widget_file').on('change', prepareUpload);
function prepareUpload(event){files = event.target.files}
$('#twf').on('submit', uploadFiles);
2. uploadFiles function
function uploadFiles(event){
event.stopPropagation();
event.preventDefault();
var data = new FormData();
$.each(files, function(key, value){
data.append(key, value);
});
$.ajax({
url: './page/getWidgetInfo.php?files',
type: 'POST',
data: data,
cache: false,
dataType: 'json',
processData: false,
contentType: false,
success: function(data, textStatus, jqXHR){
if(typeof data.error === 'undefined'){
console.log(data);
}else{
console.log('ERRORS1: ' + data.error);
}
},
error: function(jqXHR, textStatus, errorThrown){
console.log('ERRORS2: ' + textStatus);
}
});
}
3. upload exe php
$data = array();
if(isset($_GET['files'])){
$error = false;
$filevar = "";
$error_msg = "There was an error uploading your files";
$uploaddir = '/home/namo/public_html/tmp/';
foreach($_FILES as $file){
if(move_uploaded_file($file['tmp_name'], $uploaddir.basename($file['name']))){
$filevar = $file['name'];
}else{
$error = true;
}
}
$data = ($error) ? array('error' => $error_msg) : array('files' => $filevar);
}