I am using the file uploader jquery plugin in order to have ajax file uploading on my site. However I just cannot figure out what is going wrong and why it doesn't work.
Plugin: http://fineuploader.com/index.html
My code:
I took the code directly from their demo:
$(document).ready(function() {
$fub = $('#fine-uploader-basic');
$messages = $('#messages');
var uploader = new qq.FileUploaderBasic({
button: $fub[0],
action: 'http://localhost/script/file_upload/upload_test',
debug: true,
allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'],
sizeLimit: 204800, // 200 kB = 200 * 1024 bytes
onSubmit: function(id, fileName) {
$messages.append('<div id="file-' + id + '" class="alert" style="margin: 20px 0 0"></div>');
},
onUpload: function(id, fileName) {
$('#file-' + id).addClass('alert-info')
.html('<img src="client/loading.gif" alt="Initializing. Please hold."> ' +
'Initializing ' +
'“' + fileName + '”');
},
onProgress: function(id, fileName, loaded, total) {
if (loaded < total) {
progress = Math.round(loaded / total * 100) + '% of ' + Math.round(total / 1024) + ' kB';
$('#file-' + id).removeClass('alert-info')
.html('<img src="client/loading.gif" alt="In progress. Please hold."> ' +
'Uploading ' +
'“' + fileName + '” ' +
progress);
} else {
$('#file-' + id).addClass('alert-info')
.html('<img src="client/loading.gif" alt="Saving. Please hold."> ' +
'Saving ' +
'“' + fileName + '”');
}
},
onComplete: function(id, fileName, responseJSON) {
if (responseJSON.success) {
$('#file-' + id).removeClass('alert-info')
.addClass('alert-success')
.html('<i class="icon-ok"></i> ' +
'Successfully saved ' +
'“' + fileName + '”' +
'<br><img src="img/success.jpg" alt="' + fileName + '">');
} else {
$('#file-' + id).removeClass('alert-info')
.addClass('alert-error')
.html('<i class="icon-exclamation-sign"></i> ' +
'Error with ' +
'“' + fileName + '”: ' +
responseJSON.error);
}
}
});
});
HTML:
<div id="fine-uploader-basic" class="btn btn-success">
<i class="icon-upload icon-white"></i> Click to upload
</div>
<div id="messages"></div>
PHP:
public function upload_test() {
$upload = move_uploaded_file('./user_files', $_FILES['qqfile']['tmp_name']);
if($upload) {
echo json_encode(array('success' => true));
} else {
echo json_encode(array('success' => false, 'error' => $upload));
}
}
I think the problem is with the PHP, but I can't figure out what im doing wrong. Please help before I go insane.
Thank you.
i didn't read ur js and html part, but you need to change your PHP part. look at how he do it