Phalcon 文件上传实例

<?php
use Phalcon\Mvc\Controller;
// +----------------------------------------------------------------------
// | 文件上传测试
// +----------------------------------------------------------------------
// | Author: 陈小陌<chenrong@reyuan.net>
// +----------------------------------------------------------------------
// | Status:编辑中
// +----------------------------------------------------------------------
// | Lastmod: 2015年12月21日 13:37:20
// +----------------------------------------------------------------------
class PhotoController extends ControllerBase
{
    function indexAction(){

    }

    // 添加
    function addAction(){

        // 检查是否有文件上传
        if ($this->request->hasFiles() == true) {

            // 打印文件信息
            foreach ($this->request->getUploadedFiles() as $file) {
                // dump($file);
                /*
                object(Phalcon\Http\Request\File)#41 (8) {
                  ["_name":protected]=>
                  string(44) "test.jpg"
                  ["_tmp":protected]=>
                  string(21) "C:\Windows\php6B7.tmp"
                  ["_size":protected]=>
                  int(78029)
                  ["_type":protected]=>
                  string(10) "image/jpeg"
                  ["_realType":protected]=>
                  NULL
                  ["_error":protected]=>
                  int(0)
                  ["_key":protected]=>
                  string(5) "photo"
                  ["_extension":protected]=>
                  string(3) "jpg"
                }
                */

                // 上传文件名
                echo "上传文件名:".$file->getName()."<br />";
                echo "临时文件路径:".$file->getTempName()."<br />";  
                echo "文件大小:".$file->getSize()."<br />";
                echo "文件类型:".$file->getType()."<br />";
                echo "错误代码:".$file->getError()."<br />";
                echo "上传表控件名:".$file->getKey()."<br />";
                echo "文件后綴".$file->getExtension()."<br />";

                // 移动到指定目录
                $file->moveTo(UPLOAD_PATH.$file->getName());

            }
        }

    }
}

常量 UPLOAD_PATH 和 dump 方法是我在index.php 入口文件中定义的

// 定义文件上传根目录
define('UPLOAD_PATH', substr( __DIR__, 0, strrpos(__DIR__,DIRECTORY_SEPARATOR)) .DIRECTORY_SEPARATOR."files".DIRECTORY_SEPARATOR );

// 变量打印
function dump($data){
    echo "<pre>";
    var_dump($data);
    echo "</pre>";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Phalcon 中文文档 一般都是直接看英文资料,大都能看得懂。但看到Phalcon框架如此优秀,在学习后就想和大家分享,但发现国内的人几乎没有使用的,故想翻译一下,一旦翻译才发现读懂和译出一篇好文章真的不太一样。 故前一期翻译的部分章节有点生硬,等有空的时候再回头重译吧,后面的一部分也是以英文文档为基础,但并不再是逐句翻译了。 09年左右,大量的框架出现,我看过的框架不下20种,最先看到的可能就是php.MVC了,这是一个按照struts 1x编写的,只不过同时加载的类库太多了,效率不高而且不太完善。 后来稍有名的包括 cakephp, Symfony, Akelos, Prado, Kohana等,最近几年流行的就是 zf, yii, ci等,当然还有国内几个比较有名的框架,如fleaphp, thinkphp等。 在上面的一些框架中,我比较感冒的还是ci,yii,thinkphp等。ci,thinkphp够简单,速度也不错。yii是生活在国外的华人开发,功能够全而强大,速度也不错,国内的应用也不少。 一直不太喜欢zf,记得几年前就和同行朋友聊天的时候说,像ZEND公司完全可以用C语言开发出一个扩展来,这样效率会高得多,为毛非得用PHP开发呢,事实被我验证了,但开发扩展的不是ZEND公司,而是国内一个PHP大鸟,人称鸟哥。这个框架就是非常出名的YAF,因此YAF扩展是我必装的扩展之一。同时这也是我发现的第一个C语言写的扩展框架。 但YAF的缺点是,功能非常不完善,在我看来只是简单实现了MVC结构及路由,分发等功能,像一些ORM之类的功能完全没有开发,作者好像也没有开发的意思:) 后来就发现了Phalcon,一看文档就爱上了她,功能,速度等都是我想要的,我花了一周时间看文档学习她,并在一个下午的过程中,发现了文档中的三个错误并提交了这些错误:),我决定为完善它也贡献一点自己的力量。 本文档的中文地址存放在 http://phalcon.5iunix.net Github上的地址为: https://github.com/netstu/phalcondocs ,您如果发现有些地方译的有些操蛋,烦请你fork它,并完善她。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值