仓酷云 发表于 2015-2-3 23:57:24

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:59

在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、

分手快乐 发表于 2015-2-9 18:44:14

兴趣是最好的老师,百度是最好的词典。

金色的骷髅 发表于 2015-2-10 04:36:26

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

谁可相欹 发表于 2015-2-28 19:49:00

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

简单生活 发表于 2015-3-6 17:19:06

如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,

海妖 发表于 2015-3-8 17:23:23

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

兰色精灵 发表于 2015-3-11 04:50:36

兴趣是最好的老师,百度是最好的词典。

变相怪杰 发表于 2015-3-15 18:44:11

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

小女巫 发表于 2015-3-21 19:31:30

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

灵魂腐蚀 发表于 2015-3-24 09:55:30

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

飘灵儿 发表于 2015-4-1 03:10:56

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

再现理想 发表于 2015-4-3 01:12:07

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

深爱那片海 发表于 2015-4-15 10:31:42

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

若天明 发表于 2015-4-21 00:32:48

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

第二个灵魂 发表于 2015-4-21 08:20:28

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

柔情似水 发表于 2015-4-21 14:25:19

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

精灵巫婆 发表于 2015-6-27 23:21:53

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

爱飞 发表于 2015-6-28 02:18:06

最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。

admin 发表于 2015-6-28 23:53:35

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
页: [1]
查看完整版本: PHP编程:在PHP.MVC中上传文件