tansuo
帅哥,不用纠结了,Yii官方是没有提供方法去判断来源是移动设备还是PC的,包括其核心代码以及扩展代码。
在服务器和客户端的 HTTP 交互中,客户端会通过请求头中的User-Agent
告知服务器客户端到底是啥玩意。你可以直接获取 这个User-Agent
,不过基于 CGI 协议,PHP可以直接用$_SERVER['HTTP_USER_AGENT']
获取这个User-Agent
。但不幸的是,它是一大堆字符串,人们虽然可能可以通过其直接判断是移动设备还是PC,但程序却很麻烦,毕竟难免有所疏漏之处。所以有专门的人士去做自然最好。
https://github.com/serbanghita/Mobile-Detect,这个程序可以的。star
六千,还专门为 Yii 写个了扩展,应该不会辱没帅哥你的程序的。。大神 这个判断手机的方法我如何使用 比如给个成功的例子 或者给个好的教程 我看了下面的教程 我不知道如何做 http://www.yiichina.com/tutorial/594
这里面的教程似乎改了 我看不懂 大神- tansuo 评论了教程 Yii2集成Mobile Detect类库
看来又是大神的通病 不给例子 小菜有些伤不起
帅哥,不用纠结了,Yii官方是没有提供方法去判断来源是移动设备还是PC的,包括其核心代码以及扩展代码。
在服务器和客户端的 HTTP 交互中,客户端会通过请求头中的User-Agent
告知服务器客户端到底是啥玩意。你可以直接获取 这个User-Agent
,不过基于 CGI 协议,PHP可以直接用$_SERVER['HTTP_USER_AGENT']
获取这个User-Agent
。但不幸的是,它是一大堆字符串,人们虽然可能可以通过其直接判断是移动设备还是PC,但程序却很麻烦,毕竟难免有所疏漏之处。所以有专门的人士去做自然最好。
https://github.com/serbanghita/Mobile-Detect,这个程序可以的。star
六千,还专门为 Yii 写个了扩展,应该不会辱没帅哥你的程序的。。ok
大神帅哥,不用纠结了,Yii官方是没有提供方法去判断来源是移动设备还是PC的,包括其核心代码以及扩展代码。
在服务器和客户端的 HTTP 交互中,客户端会通过请求头中的User-Agent
告知服务器客户端到底是啥玩意。你可以直接获取 这个User-Agent
,不过基于 CGI 协议,PHP可以直接用$_SERVER['HTTP_USER_AGENT']
获取这个User-Agent
。但不幸的是,它是一大堆字符串,人们虽然可能可以通过其直接判断是移动设备还是PC,但程序却很麻烦,毕竟难免有所疏漏之处。所以有专门的人士去做自然最好。
https://github.com/serbanghita/Mobile-Detect,这个程序可以的。star
六千,还专门为 Yii 写个了扩展,应该不会辱没帅哥你的程序的。。谢谢 大神 我以为yii自己有这个方法那
- tansuo 评论了教程 restful 自定义返回数据格式
这算什么教程
- tansuo 回答了问题 一个手机app上传图片 yii接收文件的例子
顶一下吧 不然会沉下去的
yii框架没有的。 可以用这个 http://www.yiichina.com/tutorial/346
这个我用过 没成功 我用的别的方法 如下面的代码 但yii真的没有吗 还是我们不知道 大神
<?php//手机网页跳转 //如果检测到访问的浏览器为下列一个指定的移动浏览器 则返回true function is_mobile(){ $regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|"; $regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|"; $regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|"; $regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|"; $regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220"; $regex_match.=")/i"; return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT'])); } $is_mobile=is_mobile(); if($is_mobile){ //这是一个手机浏览器,可以跳转到手机版网页 //header("Location: http://www.abc.com/3g"); echo "手机访问"; }else{ //这不是一个手机浏览器 //header("Location: http://www.abc.com/desktop"); echo "电脑访问"; } ?>
$response = Yii::$app->response; $response->format = \yii\web\Response::FORMAT_JSON; $response->data = ['message' => 'hello world']; public function actionInfo() { \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; return [ 'message' => 'hello world', 'code' => 100, ]; }
<?php namespace api\modules\v1\controllers; use Yii; use yii\web\Controller; use yii\data\Pagination; use yii\db\ActiveRecord; use yii\rest\ActiveController; //class GoodsController extends \yii\web\Controller class GoodsController extends ActiveController { public $modelClass = 'api\models\Goods'; public function actions() { $actions = parent::actions(); // var_dump($actions); // die; unset($actions['index']); return $actions; } public function actionIndex() { $good = Yii::$app->request->get('bonus'); Yii::$app->db->createCommand()->insert('goods', [ 'name' => "$good", ])->execute(); $posts = Yii::$app->db->createCommand('SELECT * FROM goods') ->queryAll(); echo json_encode($posts); die; } }
我在这个类中 index方法中获取数据库信息 并有php的函数 json_encode($posts);做了json数据返回 按大神的步骤我如何做那 我的是yii2.0高级版 用http://www.yiichina.com/tutorial/843 里面的教程 封装了yii2 RESTful api(拷贝backend项目)GoodsController这个类就是我拷贝backend项目建的yii2 RESTful api里面的