PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP基础 >> 新手专区 >> 

一个简单的PHP文件上传方法

一个简单的PHP文件上传方法

来源:PHP程序员站  作者:admin  发布时间:2011-01-17
这是我自己写的一个文件上传函数,主要是做一些企业类网站的时候经常会用到上传图片,呵,我就写了这么一个函数,希望各位高手提出您们的宝贵意见! /************文件上传函数******************/ /* *$formname Html上传表单名称 *$allowtype_array 允许上传的文件类

这是我自己写的一个文件上传函数,主要是做一些企业类网站的时候经常会用到上传图片,呵,我就写了这么一个函数,希望各位高手提出您们的宝贵意见!

/************文件上传函数******************/   
/*   
*$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;   
 }   


延伸阅读:
文件上传中值得注意的几点
javascript判断上传图片大小
上传多个图片并校验的PHP代码
Ftp上传类
同时上传多个文件的php类
PHP程序中文件上传的安全问题
PHP 文件上传程序简单例子
上传图片时生成缩微图象的函数
javascript判断上传图片的大小和格式
php多文件简单上传示例
PHP多文件上传个人理解总结
PHP V5.2 中的新增功能之跟踪文件上传进度
带进度条的上传程序示例
修改php.ini设置上传文件的大小
PHP实例解析:实现给上传图片加水印图案
PHP 大文件上传进度条实现
nginx 0day漏洞 上传图片可入侵百万台服务器
基于jquery+flash+php的可跨域跨服务器存储的上传工具Uploadify
Tags: php   文件上传  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号