`

cakephp + crul 获得url的返回的文件流

阅读更多
1.获得url的文件流
     function _curl_get($url) {      
	    $ch = curl_init();    
	    curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// 返回字符串,而非直接输出

		curl_setopt($ch, CURLOPT_HEADER, 0);   // 不返回header部分

	    $data = curl_exec($ch);        
	    curl_close($ch);      
	    if ($data)   
	        return $data;     
	    else
	        return false;     
	} 

2.测试
function test_url(){
        $url = "http://211.151.59.44/s3c/samples/download/15009";
        $data = $this->_curl_get($url);
        $tmpFile = SAMPLE_TMP_PATH."a.sis";
        $this->FileHelper->delFile($tmpFile);
        $this->FileHelper->createFile($tmpFile,$data);
        $this->_download("a.sis", $tmpFile);
        
    }

3.下载
function _download($fileName, $downloadFile) {
        $speed = 8.5; // 8,5 kb/s download rate limit
        if (file_exists($downloadFile) && is_file($downloadFile)) {
            header('Cache-control: private');
            header('Content-Type: application/octet-stream');
            header('Content-Length: ' . filesize($downloadFile));
            header('Content-Disposition: filename=' . $fileName);
            flush();
            $fd = fopen($downloadFile, 'r');
            while (!feof($fd)) {
                echo fread($fd, round($speed * 1024));
                flush();
                sleep(1);
            }
            fclose($fd);
            $this->log($downloadFile . 'file_exists', 'down');
        } else {
            $this->log($downloadFile . ': file_exists not');
            return;
        }
    } 
分享到:
评论

相关推荐

    cakephp + jira soap client的使用

    在了解如何使用CakePHP结合Jira的RESTful API之前,我们首先需要了解几个基础概念: 1. CakePHP框架:这是一个快速开发的PHP框架,提供了MVC(模型-视图-控制器)架构,能够帮助开发者创建Web应用程序。CakePHP通过...

    xampp+cakephp2+webservice+j-ui

    【标题】"XAMPP+CakePHP2+Webservice+j-UI"是一个关于构建Web应用程序的集成环境,其中包含了多种技术的结合。XAMPP是一个流行的开源开发平台,包括Apache服务器、MySQL数据库、PHP和Perl语言,用于快速搭建本地开发...

    gae-cakephp-email:为CakePHP + Google App Engine设置编写的邮件传输类

    gae-cakephp-电子邮件为[CakePHP]( )+ [Google App Engine]( )设置编写的邮件传输类。 在Google App Engine for PHP上部署CakePHP时,面临的挑战之一是您无法使用普通的[CakeEmail]( )类。 因此,我编写了该类...

    CakePHP使用ajax传值

    在CakePHP中,推荐使用jQuery库,因此需要在用户界面文件(如user_normal.ctp)中引入jquery库的脚本文件。由于文档中提到的是jquery-1.4.4.min.js,这表明应使用压缩版的jQuery库来减少传输的数据量,提高页面加载...

    CakePHP 3.4 开发手册文档 CakePHP Cookbook Documentation Release 3.4

    - **I18n**:CakePHP 支持多语言环境,可以通过配置文件轻松切换不同的语言。 - **L10n**:针对不同地区的日期时间、货币格式等本地化需求,框架也提供了相应的解决方案。 #### 测试 CakePHP 内置了强大的测试框架...

    CakePHP 1.2 API 中文文档

    为了提高性能,CakePHP 提供了多种缓存策略,包括文件系统、内存(如APC)和数据库等。 **总结** CakePHP 1.2 API 中文文档覆盖了框架的主要组件、类库和方法,是开发者学习和使用该框架的重要参考资料。通过深入...

    CakePHP PHP MVC框架

    1. **路由配置**:CakePHP的路由系统允许开发者自定义URL模式,使URL更友好,易于理解。 2. **自动验证**:对表单数据进行验证,确保输入符合预设规则。 3. **ORM(对象关系映射)**:通过ActiveRecord模式,提供了...

    cakephp 框架书籍 英文版

    ### CakePHP框架书籍知识点概述 #### 一、Getting Started(开始使用) - **博客教程**:本书籍通过一个博客项目的示例,引导读者逐步了解CakePHP框架的基本用法。这包括了如何设置环境、创建模型(Model)、控制器...

    cakephp-1.2 manual

    《CakePHP 1.2 手册》是针对该版本框架的重要参考资料,旨在帮助开发者深入理解和有效使用 CakePHP 进行Web开发。 CakePHP 是一个基于Model-View-Controller(MVC)架构模式的开源PHP框架,它简化了Web应用程序的...

    最简单的方法来安装CakePHP

    5. **设置Apache/Nginx虚拟主机**: 为了在本地运行你的CakePHP应用,需要在服务器配置文件中添加一个新的虚拟主机指向你的项目根目录。 6. **运行应用**: 保存所有配置,重启服务器,然后在浏览器中访问你的应用URL...

    Cakephp安装和配置

    - 下载文件名称:`cakephp-cakephp-2.5.0-0-g780132f.zip` 2. **解压并移动文件** - 将下载的 ZIP 文件解压。 - 将解压后的 `app`、`lib`、`plugins`、`vendors`、`index.php` 等文件复制到 Apache 服务器的文档...

    cakephp 框架1.3.11版本

    这个压缩包文件包含了有关CakePHP 1.3.11版本的信息,该版本发布于较早的时期,但仍然对理解早期的Web开发流程有所帮助。 首先,我们来详细探讨一下CakePHP框架的关键特性: 1. **MVC架构**:MVC模式是软件工程中...

    CakePHP1.2.3.8166.7z CakePHP最新稳定版

    在提供的文件列表中,.htaccess是一个重要的配置文件,它用于Apache服务器上的URL重写和访问控制。在CakePHP中,.htaccess可以隐藏index.php,使URL更美观,同时也能实现防止目录浏览和设置错误页面等功能,提升网站...

    CakePHP依赖

    在 CakePHP 项目中,`composer.json` 文件会声明对 CakePHP 框架本身和其他相关扩展或插件的依赖。例如: ```json { "name": "cakephp/app", "description": "CakePHP skeleton app", "type": "project", ...

    cakephp-2.4.1

    3. **路由系统**:CakePHP的路由机制允许开发者自定义URL结构,使网址更具语义化。它可以根据设定的规则将请求映射到特定的控制器和操作上。 4. **ORM(对象关系映射)**:CakePHP的ActiveRecord实现使得数据库操作...

    cakephp-1.3.21.zip

    《CakePHP 1.3.21:框架详解与应用实践》 CakePHP是一个基于Model-View-Controller(MVC)架构模式的开源PHP框架,它致力于简化Web应用程序的开发,提供了一套强大的工具和约定,使开发者能够快速构建高质量的网站...

    PHP的框架之CakePHP-CakePHP教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...

    CakePHP v2.3.0.zip

    礼品,1G美国主机兑换说明.txt**:这可能与推广活动有关,用户可能在安装和使用CakePHP时获得额外的服务器资源,如1GB的美国主机空间,用于测试或部署项目。 **9. cakephp-2.3.0**:这是实际的源代码包,包含所有...

    cakephp框架源码

    在解压的文件`cakephp-cakephp-3b830a4`中,包含了CakePHP的源代码仓库的一个特定版本。这个版本可能包含了框架的最新特性或者修复的bug。研究这些文件,你可以跟踪源码的变更历史,理解每一行代码的作用,进一步...

Global site tag (gtag.js) - Google Analytics