仓酷云

标题: PHP网站制作之一个复杂的PHP文件上传办法 [打印本页]

作者: 仓酷云    时间: 2015-2-3 23:39
标题: PHP网站制作之一个复杂的PHP文件上传办法
你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。   这是我本人写的一个文件上传函数,次要是做一些企业类网站的时分常常会用到上传图片,呵,我就写了这么一个函数,但愿列位高手提出您们的名贵定见!
  1. /************文件上传函数******************/   /*   *$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优化,以及模板
作者: 变相怪杰    时间: 2015-2-4 05:01
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 分手快乐    时间: 2015-2-9 16:02
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: admin    时间: 2015-2-11 00:10
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 因胸联盟    时间: 2015-3-1 18:28
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 爱飞    时间: 2015-3-10 21:54
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 谁可相欹    时间: 2015-3-11 01:47
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 不帅    时间: 2015-3-12 19:31
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 再现理想    时间: 2015-3-20 01:51
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 飘飘悠悠    时间: 2015-3-23 17:50
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 深爱那片海    时间: 2015-3-27 00:10
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 莫相离    时间: 2015-4-1 07:25
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 兰色精灵    时间: 2015-4-3 22:30
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 乐观    时间: 2015-4-6 04:09
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 柔情似水    时间: 2015-4-12 22:05
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 小魔女    时间: 2015-4-14 11:18
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 第二个灵魂    时间: 2015-5-4 00:35
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 冷月葬花魂    时间: 2015-5-4 10:39
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 精灵巫婆    时间: 2015-7-4 10:37
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 活着的死人    时间: 2015-7-6 01:10
做为1门年轻的语言,php一直很努力。
作者: 老尸    时间: 2015-7-9 01:55
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2