php异步上传文件插件,图片Jquery异步上传插件

左丘弘致
2023-12-01

对于图片的上传,如果不基于插件的话,那样显的有点难看,而uploadify这款插件可以看到上传的进度条,以及上传完毕后的触发动作,还支持多图上传,以及使用队列方式。我觉得还是挺好用的,

案例下载地址(图片Jquery异步上传插件)。

其中前端引入jquery.uploadify.min.js后,导致浏览器会崩溃,则在引入时带一个变动的参数如jquery.uploadify.min.js?v= ,

那么前端js的主要js部分简化后如下:

$("#upload_picture").uploadify({

"height" : 30,

"swf" : "./uploadify.swf",

"fileObjName" : "upload_file", //上传按钮的name值

"buttonText" : "上传图片",

"uploader" : "http://localhost/upload/upload.php", //提交给服务器处理的php

"width" : 120,

'removeTimeout' : 1,

'fileTypeExts' : '*.jpg; *.png; *.gif;',

"onUploadSuccess" : uploadPicture, //上传成功后触发的事件

'onFallback' : function() {

alert('未检测到兼容版本的Flash.');

}

});

function uploadPicture(file, data){

//这里的事件,我一般会把图片预览在页面上

}

而服务器端接收图片后,对图片做处理,也就是对图片操作咯,简单的判断文件大小,文件重命名,移动文件到指定目录下等,如下:

$targetFolder = 'uploads/';

$verifyToken = md5('unique_salt' . $_POST['timestamp']);

//if (!empty($_FILES) && $_POST['token'] == $verifyToken) {

$tempFile = $_FILES['Filedata']['tmp_name'];

$fileTypes = array('jpg','jpeg','gif','png'); // File extensions

$fileParts = pathinfo($_FILES['Filedata']['name']);

$targetFile = date('YmdHis',time()).uniqid().'.'.$fileParts['extension'];

if (in_array(strtolower($fileParts['extension']),$fileTypes)) {

if(move_uploaded_file($tempFile,$targetFolder.$targetFile)){

echo $targetFile;

}else{

echo '上传失败';

}

} else {

echo '扩展名无效';

}

//}

然而,一般现在都有很多第三方平台,图片存在自己的服务器上反而占用空间,我们可以考虑存在第三方上还可以实现DNS加速,下次整理一个图片存到七牛上的应用。

原文链接:图片Jquery异步上传插件,转发请注明来源!

 类似资料: