演示效果:
<!doctype html>
<html>
<head>
<link rel = "stylesheet" type = "text/css" href = "./Plugins/uploadify.css">
<link rel = "stylesheet" type = "text/css" href = "./base.css">
<script src = "Plugins/jquery.js"></script>
<script src = "Plugins/jquery.uploadify.min.js"></script>
</head>
<script type="text/javascript">
var i=0;//初始化数组下标
var uploadInfo = []; //存储名称
$(function() {
$('#file_upload').uploadify({
'debug' : true,//开启调试模式
'width' : 200,//上传按钮的宽
'height' : 60,//上传按钮的高
'fileObjName':'file_upload',//上传的表单名称 <input type = "file" name = "file_upload" />
'removeTimeout' : 1,//文件队列上传完成1秒后删除
'swf' : 'Plugins/uploadify.swf',// 加载插件的flash文件
'method' : 'post',//方法,服务端可以用$_POST数组获取数据
'buttonText' : '选择上传图片',//设置按钮文本
'uploadLimit' : 10,//一次最多只允许上传10张图片
'fileTypeDesc' : 'Image Files',//只允许上传图像
'fileTypeExts' : '*.gif; *.jpg; *.png',//允许上传的图片格式---注意前端判断过,后端必须要判断
'fileSizeLimit' : '20000KB',//限制上传的图片不得超过200KB
'onUploadSuccess' : function(file,data,response)
uploadInfo[i]=data;
i++;
alert(data);
},
});
});
//上传
function doUpload(){
$('#file_upload').uploadify('upload','*');
}
</script>
<body>
<div id = "header">
<span class = "title">PHP+Uploadify3.2上传插件</span>
</div>
<div class = "mb10"></div>
<div id = "content" style = "text-align:center">
<div class = "mb10"></div>
<input type="file" name="file_upload" id="file_upload" />
<div class = "mb10"></div>
</div>
<div class = "upload">
<button type = "button" onclick = "doUpload();">上传</button>
</div>
<div id = "footer"></div>
</body>
</html>
<?PHP
//上传表单的name
$InputName = 'file_upload';
//上传-路径
$path = 'upload/';
//允许上传大小单位是M
$allSize = 2;
//允许上传的后缀名
$allPrefix = array('jpg','jpeg','png','gif','rar','zip','txt');
//允许的Mime
//用浏览器传输过来的 mime 不太安全。
$allMime = array(
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'png' => 'image/png',
'gif' => 'image/gif',
'zip' => 'application/octet-stream',
"rar" => "application/x-rar-compressed",
'txt' => 'text/plain',
);
if(!empty($_FILES) && $_FILES[$InputName]['error'] == 0){
$fileName = iconv("UTF-8",'GBK',strtolower($_FILES[$InputName]['name']));
// 获取后缀
$hz = strtolower(substr($fileName,strrpos($fileName,'.') + 1)); //后缀
if(!in_array($hz,$allPrefix)){
die('后缀名非法了');
}
//我的版本是5.3.8不能使用mime_content_type();5.3废除了这个方法
//5.3以上版本可以使用pecl 里面的finfo_*系列的函数去判断
if(!in_array($_FILES[$InputName]['type'],$allMime)){
die('类型不符合');
}
print_r($_FILES[$InputName]['type']);
// 服务器最大post大小,和允许上传的大小-单位M
$serverPostSize = (int)ini_get('post_max_size');
$fileSize = ceil(($_FILES[$InputName]['size']) / 1024 / 1024);
if($serverPostSize <= $allSize || $fileSize > $allSize){
die('大小超过限制');
}
if(!is_uploaded_file($_FILES[$InputName]['tmp_name'])){
die('非法操作');
}
// 如果文件不存在
if(!is_dir($path)){
mkdir($path,0777);
}
$newFileName = $path . date('YmdHis',time()) . '_' . $fileName;
// 开始上传
if(move_uploaded_file($_FILES[$InputName]['tmp_name'],$newFileName)){
echo '上传成功';
}else{
echo '上传失败';
}
}else{
die('上传出错');
}
?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。