首页
关于
留言
友链
电台
壁纸
我的足迹
推荐
知易而行MCP
Search
1
乐橙CMS影视管理系统最全版本
109,326 阅读
2
VIP视频解析破解电影解析模拟破解影视解析
77,802 阅读
3
乐橙CMS影视管理系统4.0.18版本
16,941 阅读
4
新浪图片链接修复教程集合
15,129 阅读
5
反调试代码调试死机代码禁止F12代码
12,103 阅读
语言
PHP
Java
Go
JavaScript
CSS
Vue
资源教程
网络杂谈
技术文章
影视交流
软件工具
Mac
知易而行
登录
Search
标签搜索
PHP
AI
LINUX
微信
MYSQL
树莓派
OpenClaw
ESP32S3
小智AI
P2P
JS
破解
乐橙cms
支付
uniapp
人工智能
技术趋势
智能玩具
ESP32
DIY
子沐~
累计撰写
128
篇文章
累计收到
372
条评论
首页
栏目
语言
PHP
Java
Go
JavaScript
CSS
Vue
资源教程
网络杂谈
技术文章
影视交流
软件工具
Mac
知易而行
页面
关于
留言
友链
电台
壁纸
我的足迹
推荐
知易而行MCP
搜索到
128
篇与
的结果
2019-04-28
新浪图片链接修复教程集合
前言前几天网友反馈新浪图床挂了,我还有点不信,直到最近事件扩散之后才发现的因为新浪图床开启了防盗链导致用户放在网站的新浪图片都失效了解决办法新浪图床开启的是最简单的防盗链,也就是来源非新浪域名都不加载,那么我们不带来源就行了。细讲:方案1、html的话,在head标签中加入<meta name="referrer" content="same-origin"> <meta name="referrer" content="no-referrer">方案2、img标签加referrerpolicy="no-referrer"(浏览器非兼容,自测)方案3、该域名前缀ww1,ww2,ww3,ws3,ws2,ws1为ws1,ws2,ws3(已和谐)方案4、https网站加载http的图片资源方案5、Nginx无来路add_header Referrer-Policy "no-referrer";请输入图片描述方案6、反代(缓存时间越高越好)请输入图片描述补充:https://ws3.sinaimg.cn/替换为域名地址:https://cdn.sinaimg.cn.52ecy.cn以上方法反代最稳妥,其他方案都存在浏览器兼容性问题,如有介意者自行抉择。站点统计会有所异常,如有介意者自行抉择感谢杨小杰
2019年04月28日
15,129 阅读
3 评论
0 点赞
2019-04-23
微信公众号对接网站实现自动回复搜索找电影关注自动回复
<?php header('Content-type:text'); define("TOKEN", "qingeedy"); $wechatObj = new wechatCallbackapiTest(); if (!isset($_GET['echostr'])) { $wechatObj->responseMsg(); }else{ $wechatObj->valid(); } class wechatCallbackapiTest{ //验证签名 public function valid(){ $echoStr = $_GET["echostr"]; $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode($tmpArr); $tmpStr = sha1($tmpStr); if($tmpStr == $signature){ echo $echoStr; exit; } } //响应消息 public function responseMsg(){ $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; $textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content></xml>"; //$postStr = 'huihui'; //调试用 if (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $event = $postObj->Event; $RX_TYPE = trim($postObj->MsgType); // $RX_TYPE = "text";//gnagcai zhege meiqudiao //消息类型分离 switch ($RX_TYPE){ case "text": $result = $this->receiveText($postObj); break; case "image": $result = $this->receiveImage($postObj); break; case 'event': if($event == 'subscribe') { $contentStr = "欢迎关注"; $result = $this->receiveText2($postObj); } break; default: $result = "unknown msg type: ".$RX_TYPE; break; } echo $result; }else { echo "this i s failed"; exit; } } //接收文本消息 private function receiveText($object){ $a = ($object->Content); $keyword = trim($a);//关键字 $arr[] = array( "Title" =>"为您找到【".$keyword."】的所有搜索结果!", "Description" => "享受闲暇,不负好时光!点我查看 ☞", "PicUrl" => "https://app.qingee.net/weixin/img/sousou.png", "Url" => "http//he-ad.cn/?wd=".$keyword ); $result=""; if (is_array($arr)) { if (isset($arr[0])) { $result = $this->transmitNews($object, $arr); } } else { $result = $this->transmitText($object, $arr); } return $result; } //接收文本消息 private function receiveText2($object){ $a = ($object->Content); $keyword = trim($a);//关键字 $arr="欢迎关注我们,橙子网络"; $result=""; if (is_array($arr)) { if (isset($arr[0])) { $result = $this->transmitNews($object, $arr); } } else { $result = $this->transmitText($object, $arr); } return $result; } //接收图片消息 private function receiveImage($object){ $content = array("MediaId"=>$object->MediaId); $result = $this->transmitImage($object, $content); return $result; } //回复文本消息 private function transmitText($object, $content){ if (!isset($content) || empty($content)){ return ""; } $xmlTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), $content); return $result; } //回复图文消息 private function transmitNews($object, $newsArray){ if(!is_array($newsArray)){ return ""; } $itemTpl = "<item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item>"; $item_str = ""; foreach ($newsArray as $item){ $item_str .= sprintf($itemTpl, $item['Title'], $item['Description'], $item['PicUrl'], $item['Url']); } $xmlTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[news]]></MsgType> <ArticleCount>%s</ArticleCount> <Articles>$item_str</Articles> </xml>"; $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), count($newsArray)); return $result; } //回复图片消息 private function transmitImage($object, $imageArray){ $itemTpl = "<Image> <MediaId><![CDATA[%s]]></MediaId> </Image>"; $item_str = sprintf($itemTpl, $imageArray['MediaId']); $xmlTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[image]]></MsgType> $item_str </xml>"; $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time()); return $result; } } ?>
2019年04月23日
2,151 阅读
0 评论
0 点赞
2019-04-19
php多维数组排序
/** * 多维数组排序 * @param $multi_array * @param $sort_key * @param int $sort * @return array|bool */ function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){ if(is_array($multi_array)){ foreach ($multi_array as $row_array){ if(is_array($row_array)){ $key_array[] = $row_array[$sort_key]; }else{ return false; } } }else{ return false; } array_multisort($key_array,$sort,$multi_array); return $multi_array; }
2019年04月19日
1,827 阅读
0 评论
0 点赞
2019-04-19
php把一个二维数组中的某个或者某些字段当成 key
/** * 把一个二维数组中的某个或者某些字段当成 key * * @param array $array 二维数组 * @param string|array $field 字段,liuchao 修改 * * @return array */ function useFieldAsArrayKey($array, $field) { $newArr = []; if (is_array($field)) { foreach ($array as $key => $value) { $newKey = ''; foreach ($field as $f) { $newKey .= $value[strval($f)]; } if (!isset($newArr[$newKey])) { $newArr[$newKey] = $value; } } } else { foreach ($array as $key => $value) { $newArr[$value[strval($field)]] = $value; } } return $newArr; }
2019年04月19日
2,018 阅读
0 评论
1 点赞
2019-04-19
以json类型的数据返回,第二个参数JSON_UNESCAPED_UNICODE
//以json类型的数据返回 function ajaxReturn($data){ header('Content-type: application/json'); echo json_encode($data,JSON_UNESCAPED_UNICODE); die(); }
2019年04月19日
1,957 阅读
0 评论
0 点赞
2019-04-19
php时区间时间转换,国外项目对时区的处理
//时区转换] /** * @param $date_time * @param string $format * @param string $to * @param string $from * @return string * wechat:weigo521 */ public function timeZoneTransform($date_time, $format = 'Y-m-d H:i:s', $to = 'America/New_York', $from = 'Asia/Shanghai') { $datetime = new \DateTime($date_time, new \DateTimeZone($from)); $datetime->setTimezone(new \DateTimeZone($to)); return $datetime->format($format); }
2019年04月19日
1,801 阅读
0 评论
0 点赞
2019-04-09
微信支付成功回调处理
public function wechatPayNotify() { $content = file_get_contents("php://input"); writeSomeLog('wxPayNotify',[$content]); libxml_disable_entity_loader(true); $content = json_decode(json_encode(simplexml_load_string($content, 'SimpleXMLElement', LIBXML_NOCDATA)), true); Log::write('微信回调信息:'.json_encode($content)); $orderCode = $content['out_trade_no']; $updateData['status']=5; $updateData['trade_no']=$content['transaction_id']; $updateData['pay_money']=$content['total_fee']/100; //处理支付成功的逻辑 if($content['return_code'] == 'SUCCESS') { Log::write('处理支付后回调逻辑'.$content['return_code']); //处理订单,检验订单是否为新订单,防止微信重复回调 $check=(new OrderService())->checkOrder($orderCode); if($check){ (new OrderService())->updateOrderStatus($orderCode,$updateData,$content); //发送消息 //(new OrderService())->sendMsg($orderCode); } } //回复微信 $wechatPayService = new WechatService(); $wechatPayService->notify(); }
2019年04月09日
2,066 阅读
0 评论
0 点赞
2019-04-05
Windows免虚拟机使用Linux
虽然Windows图形化的操作系统十分易用,但不可否认的是————Linux中环境下,很多软件具有轻快迅速的特点。平常我们使用###Linux一般是借助于虚拟机或者双系统,随着Windows10的数次更新,微软显然也意识到了部分开发者的需求。这次说的就是开启微软自带的Linux功能,目前微软提供的系统覆盖了主流的Linux系统开启Linux子系统在应用商店内安装之前,首先我们需要更新到最新的Windows10系统。然后打开控制面板——程序——启用和关闭Windows功能——勾选上“适用于Linux的Windows子系统”重启电脑以后即可访问应用商店,搜索Linux来安装Linux系统。子系统中完全与Windows共享系统资源,运行速度相较于VM虚拟机稍快。由于国内访问自带Linux源访问速度并不快,推荐大家使用中科大的开放Linux源。
2019年04月05日
1,866 阅读
0 评论
0 点赞
2019-04-04
调用支付宝扫一扫
//首先引入支付宝js <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> ap.scan({ type: 'qr' }, function (res) { if (res.error == 10) { // 错误码为10:用户取消操作 // ... } else if (res.error == 11) { // 错误码为11:扫码失败 alert('扫码失败,请重试') // .... } else { console.log(res.code); // res.code为扫码返回的结果 //alert(res.code); } )}
2019年04月04日
2,324 阅读
0 评论
0 点赞
2019-04-03
微信支付WeixinJSBridge.invoke的使用方法
//调起微信支付 function onBridgeReady(Data) { WeixinJSBridge.invoke( 'getBrandWCPayRequest', Data, function(res){ if(res.err_msg === "get_brand_wcpay_request:ok" ) { window.location.href ='&payStatus=ok'; }else { window.location.href ='&payStatus=cancel'; } } ); } //去支付 function toPay() { var amount=10; //页面展示为元 //商品信息 var shopCarGoodsInfo={ }; if(canClick){ canClick = false; $.post('toPay',{amount:amount,goods:shopCarGoodsInfo},function(res){ canClick = true; if (typeof WeixinJSBridge == "undefined"){ if( document.addEventListener ){ document.addEventListener('WeixinJSBridgeReady', function(){onBridgeReady(res);}, false); }else if (document.attachEvent){ document.attachEvent('WeixinJSBridgeReady', function(){onBridgeReady(res);}); document.attachEvent('onWeixinJSBridgeReady', function(){onBridgeReady(res);}); } }else{ onBridgeReady(res); } }); } }
2019年04月03日
4,530 阅读
0 评论
0 点赞
1
...
8
9
10
...
13