|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。 这是我本人写的一个文件上传函数,次要是做一些企业类网站的时分常常会用到上传图片,呵,我就写了这么一个函数,但愿列位高手提出您们的名贵定见!
- /************文件上传函数******************/ /* *$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; } }
复制代码 <P style="TEXT-INDENT: 2em">
不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板 |
|