Yii框架 上传图片接口

1、接收一个post请求,获取密码如果正确则添加到本地数据中

2、curl_post方法

public static function curl_post($url, $data) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        // 我们在POST数据哦!
        curl_setopt($ch, CURLOPT_POST, 1);
        // 把post的变量加上
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        $output = curl_exec($ch);
        curl_close($ch);
        return $output;
    }

3、图片接口

    /*上传图片接口测试*/
    public function actionMypic(){
        //‘pic‘    =>    ‘@‘.realpath(‘./mypic.png‘).‘;type=image/png‘
        $file = realpath(mb_convert_encoding(‘/data/www/en/protected/controllers/test.jpg‘,‘GBK‘,‘utf8‘));
        $file = realpath(‘/data/www/en/protected/controllers/test.jpg‘); //要上传的文件
        $key=md5("mypic"."lcc");
        $post_data = array (
            "news_key" => $key,
            "news_name"=>"mypic",
            // 要上传的本地文件地址
            "uploads" => ‘@‘.$file
        );
        $re = self::curl_post2("testmetal.smm.cn/interface/smm_news_pic_add_industry/", $post_data);
        echo ‘<pre>‘;
        print_r($re) ;
    }

4、控制器

    /*
     * 上传图片接口
     * 从行业库上传图片到本地服务器
     * 2015-06-19 lcc
     */
    public function actionSmm_news_pic_add_industry()
    {
        if($_POST){
            //print_r($_POST);die();
            $key=md5($_POST[‘news_name‘]."lcc");
            $news_key=$_POST[‘news_key‘];
            if($key!=$news_key){
                echo ‘false‘;
            }
            $image = CUploadedFile::getInstanceByName(‘uploads‘);
            $dir=Yii::getPathOfAlias(‘webroot‘).‘/Upload/lcc/‘;//上传目录
            $name = $dir.‘lcc_‘.time().‘.‘.$image->getExtensionName(); //文件名绝对路径
            $status = $image->saveAs($name,true); //保存文件
            if ($status) {
                echo $name;
            }else {
                echo ‘false‘;
            }
        }else{
            echo ‘false‘;
        }
    } 
时间: 2024-08-08 20:52:30

Yii框架 上传图片接口的相关文章

YII框架之soap协议的配置跟使用(Webservice)

Yii依靠文档注解(doc comments)和类反射(class reflection)来识别哪个方法可以被远程调用,包括他们的参数和返回值,但目前只能返回字符串,不能返回数组,若返回数组,则为"array";故我将返回值转换为json字符串再返回. 1. 定义Service Provider,服务器端文件代码,WebServerController.php <?php /****************************** * @author sara zhou *

YII框架的依赖注入容器

依赖注入(Dependency Injection,DI)容器就是一个对象,它知道怎样初始化并配置对象及其依赖的所有对象. 所谓的依赖就是,一个对象,要使用另外一个对象才能完成某些功能.那么这个对象就依赖于被使用的对象. 例如: /** * 厨师 */ class cook { /** * 制作食物 */ public function cooking() { $food = new food(); echo $food->get(),"汤<br/>"; } } /*

YII框架分析笔记10:日志

yii框架中日志组件记录的等级5类,在CLogger已通过常量定义: const LEVEL_TRACE='trace'; const LEVEL_WARNING='warning'; const LEVEL_ERROR='error'; const LEVEL_INFO='info'; const LEVEL_PROFILE='profile'; CLogger为所有日志写入和获取提供接口,通过日志路由管理类CLogRouter将日志分发到不同日志展现或存储介质中. 日志组件配置 [php]

YII框架分析笔记8:CDataProvider

CDataProvider,顾名思义,数据提供者,它提供了三个抽象方法(fetchData,.fetchKeys 和 calculateTotalItemCount),分别为调用不同数据结构的数据提供了获取数据.获取键值.获取数量的,接口,在YII框架 中,CActiveDataProvider.CArrayDataProvider.CSqlDataProvider是它的子类,除了提供数据之外, 他还提供分页和排序功能.下面以获取数据fetchData()为例 CActiveDataProvid

YII框架源码分析(百度PHP大牛创作-原版-无广告无水印)

                        YII 框架源码分析             百度联盟事业部--黄银锋   目 录 1. 引言 3 1.1.Yii 简介 3 1.2.本文内容与结构 3 2.组件化与模块化 4 2.1.框架加载和运行流程 4 2.2.YiiBase 静态类 5 2.3.组件 6 2.4.模块 9 2.5 .App 应用   10 2.6 .WebApp 应用   11 3.系统组件 13 3.1.日志路由组件  13 3.2.Url 管理组件  15 3.3.异常

yii框架数据库操作数据访问对象(DAO)简单总结

Yii提供了强大的数据库编程支持.Yii数据访问对象(DAO)建立在PHP的数据对象(PDO)extension上,使得在一个单一的统一的接口可以访问不同的数据库管理系统(DBMS).使用Yii的DAO开发的应用程序可以很容易地切换使用不同的数据库管理系统,而不需要修改数据访问代码.Yii 的Active Record( AR ),实现了被广泛采用的对象关系映射(ORM)办法,进一步简化数据库编程.按照约定,一个类代表一个表,一个实例代表一行数据.Yii AR消除了大部分用于处理CRUD(创建,

composer安装以及使用composer安装Yii框架

composer安装 1.先下载一个composer.exe包安装(https://getcomposer.org/download/) 2.下载好了以后执行exe文件(http://jingyan.baidu.com/article/4f34706ed04013e386b56d72.html) 3.安装好了以后我们可以输入cmd,出现黑窗口以后我们可以输入composer看看是否存在 当出现如下情况表示安装成功: 这个时候虽然安装成功了,但是我们一定不要忽略中国镜像!不然是没办法下载东西的 接

YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因

YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因在YII框架的使用过程中,我们可以使用foreach直接遍历findAll等方法返回的对象的属性为什么呢?其实这与CModel实现的接口相关,接下来我们看下其实现的整个过程对于一个我们定义的model,它会继承虚类CActiveRecord,CActiveRecord类继承于CModel,如下所示: class special extends CActiveRecord { } abstract class CAct

YII框架入门

一.安装 php运行环境安装包:http://www.phpstudy.net/a.php/207.html Yii安装包: https://github.com/yiisoft/yii2/releases/download/2.0.6/yii-basic-app-2.0.6.tgz (Yii2的基本应用程序模板) https://github.com/yiisoft/yii2/releases/download/2.0.6/yii-advanced-app-2.0.6.tgz (Yii2的高级