|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
兴趣可能会慢慢消亡,所以适当培养兴趣会激发自己无线的乐趣,有了乐趣,编程有啥难的。 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这些、其他的一般语句你只要知道有这个函数或者有这个功能就可以了,当你用的时候你可以凭借记忆搜索就可以了。 |
|