仓酷云

标题: PHP编程:在PHP.MVC中上传文件 [打印本页]

作者: 仓酷云    时间: 2015-2-3 23:57
标题: PHP编程:在PHP.MVC中上传文件
兴趣可能会慢慢消亡,所以适当培养兴趣会激发自己无线的乐趣,有了乐趣,编程有啥难的。     PHP.MVC官方网站上引见的是利用PEAR::HTTP_Upload 包来处置上传,而我只是用原始的体例来停止上传的处置,次要是为了申明在MVC的框架中如何上传文件.今后我能够会利用PEAR::HTTP_Upload 包来做.
  1.翻开phpmvc-config.xml,在<phpmvc-config>标签中加上:
<controller maxFileSize="1048576" tempDir="C:\www\upload\">
</controller>
  个中maxFileSize为上传文件巨细的最大值,单元是字节,上传的文件会用一个一时的名字寄存在php.ini所设置装备摆设的地位,咱们固然要把这些文件另存到咱们本人的目次中,tempDir就是这个目次.
  2.保留文件.如今写一个php页,外面写一个上传文件的表单:
<form enctype='multipart/form-data' method='POST' action='Main.php?do=upload'>
    <input type='file' name='file'><br/>
    <input name='submit_files' value='上传' type='submit'>
</form>
  个中enctype必定要设定为multipart/form-data
  3.写一个ActionForm类,好比叫UploadForm,这个类和通俗的ActionForm迥然不同,但咱们要在个中的validate办法中完成操作上传的文件.起首要失掉xml设置装备摆设文件中的值:
$appConfig =& $this->actionServer->getApplicationConfig($request);
$controllerConfig =& $appConfig->getControllerConfig();
$tmpFileDir = $controllerConfig->getTempDir();
$maxFileSize= intval($controllerConfig->getMaxFileSize(),10);
  必定要把文件巨细谁人用intval函数转换成整形数据.
  接着失掉咱们上传的文件信息:
$upload_file=$_FILES['file']['tmp_name'];
$upload_file_name=$_FILES['file']['name'];
$upload_file_size=intval($_FILES['file']['size'],10);
  ['file']是上传表单的名字.tmp_name,name和size分离是这个文件的一时文件地址(包含文件名),源文件名和巨细.一样巨细也需求转换为整形
  上面判别上传的文件是不是到达咱们的巨细请求:
if($upload_file_size > $maxFileSize)
{
//这里做毛病处置
}
  最初拷贝咱们的文件到目标目次:
if (!copy($upload_file,$tmpFileDir.$upload_file_name))
{
//这里做复制掉败处置
}
  4.上面是Action类,这个类就和通俗的Action一样,外面可以做一些文件上传后的处置,也能够直接重定向到上传胜利的页面.
  5.将你的ActionForm和Action设置装备摆设到phpmvc-config.xml中去,运转一下尝尝吧!
给你的建议是,有些最常用的语句是需要记住的 比如if for while这些、其他的一般语句你只要知道有这个函数或者有这个功能就可以了,当你用的时候你可以凭借记忆搜索就可以了。
作者: 冷月葬花魂    时间: 2015-2-4 07:18
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 分手快乐    时间: 2015-2-9 18:44
兴趣是最好的老师,百度是最好的词典。
作者: 金色的骷髅    时间: 2015-2-10 04:36
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 谁可相欹    时间: 2015-2-28 19:49
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 简单生活    时间: 2015-3-6 17:19
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 海妖    时间: 2015-3-8 17:23
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 兰色精灵    时间: 2015-3-11 04:50
兴趣是最好的老师,百度是最好的词典。
作者: 变相怪杰    时间: 2015-3-15 18:44
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 小女巫    时间: 2015-3-21 19:31
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 灵魂腐蚀    时间: 2015-3-24 09:55
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 飘灵儿    时间: 2015-4-1 03:10
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 再现理想    时间: 2015-4-3 01:12
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 深爱那片海    时间: 2015-4-15 10:31
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 若天明    时间: 2015-4-21 00:32
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 第二个灵魂    时间: 2015-4-21 08:20
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 柔情似水    时间: 2015-4-21 14:25
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 精灵巫婆    时间: 2015-6-27 23:21
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 爱飞    时间: 2015-6-28 02:18
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: admin    时间: 2015-6-28 23:53
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。




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