作者:admin 发布:2011-01-22 07:25 分类:
PHP 阅读:1,687次
抢沙发
这是我自己写的一个文件上传函数,主要是做一些企业类网站的时候经常会用到上传图片,呵,我就写了这么一个函数,希望各位高手提出您们的宝贵意见!
/************文件上传函数******************/
/*
*$formname Html上传表单名称
*$allowtype_array 允许上传的文件类型数组
*$allow_size 允许上传的文件最大大小,默认是1MB
*$isRename 是否需要重命名被上传的文件
*/
function upload_file($formname,$path,$allowtype_array,$allow_size='1048576',$isRename=true){
if($_FILES[$formname]['tmp_name']=='' || $_FILES[$formname]['name']=='' || $_FILES[$formname]['size']==0){
return false;
}
if(!file_exists('../uploadfiles/'.$path)){
if(!mkdir('../uploadfiles/'.$path,0777)){
WriteErrMsg('创建上传文件保存文件目录失败,请联系管理员检查目录权限');
}
}
if($_FILES[$formname]['size']>$allow_size){
WriteErrMsg('上传文件过大,请将上传文件限制在'.number_format($allow_size/1048576,'2','.','').'MB以内');
}
$file_name_array=explode('.',$_FILES[$formname]['name']);
$file_type=strtolower($file_name_array[count($file_name_array)-1]);
if(!in_array($file_type,$allowtype_array)){
WriteErrMsg('上传文件类型错误,仅允许上传后缀名为 .'.implode(' .',$allowtype_array).'的文件');
}
$save_name=$isRename?randomname().'.'.$file_type:$_FILES[$formname]['name'];
if(!move_uploaded_file($_FILES[$formname]['tmp_name'],'../uploadfiles/'.$path.'/'.$save_name)){
WriteErrMsg('文件上传过程中发生错误,请重新上传');
}
switch($_FILES[$formname]['error']){
case 0:
return $save_name;
break;
case 1:
WriteErrMsg('上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值');
break;
case 2:
WriteErrMsg('上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值');
break;
case 3:
WriteErrMsg('文件只有部分被上传');
break;
case 4:
WriteErrMsg('没有文件被上传');
break;
default:
WriteErrMsg('能出现这条错误提示,日子也该混到头了');
break;
}
}
本文固定链接: http://blog.wmphp.com/61.html | 速光网络博客