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