沉默——真正猎手的选择。
有多少为什么没有答案,有多少动听的承诺没有将来
邪王真眼是最强的
如果朋友走上了错误的人生道路,就算破坏友情也要阻止他
们将在这个小小的城镇中相互扶持,共同生活下去
今宵之月,绝不西沉。只此美梦,不再苏醒。从今往后,生生世世,长相厮守,为你立誓。
我们不能让这次冒险之旅没有意义没有收获
我们的本质就是血,一层层地重复,然后世代脉脉相传的血才是黑血的真实
当你知道自己被爱著的时候就不会自卑了asd
不要哭,我还没有努力到要哭的程度,不甘心就可以了das
既不回头,何必不忘;既然无缘,何必誓言;今日种种,似水无痕
空谈之类,是谈不久,也谈不出什么来的,它终必被事实的镜子照出原形,拖出尾巴而去
只愿涤荡四方,护得一世之隅。
你看你浪费了多少流星,哈哈……不牵个手也很浪费这样的夜晚呢
有形的东西迟早会凋零,但只有回忆是永远不会凋零的
首页
统计
免费Chat GPT
关于
更多
友链
每日新闻
视频
高清壁纸
Search
1
2023彩虹易支付最新原版开源网站源码,完整的易支付源码,无后门
473 阅读
2
ThinkPHP6的常见问题解答
389 阅读
3
Spring Boot之七牛云分片上传
242 阅读
4
小狐狸ChatGPT付费创作系统V2.4.9独立版 +WEB端+ H5端 + 小程序端(支持分享朋友圈、破解弹窗)
234 阅读
5
国内最好用的六款虚拟机软件
225 阅读
技术分享
源码分享
课程分享
号卡套餐
移动专区
电信专区
联通专区
广电专区
软件仓库
电脑软件
安卓软件
活动线报
值得一看
Search
标签搜索
技术分享
源码
源码分享
css
安卓软件
活动线报
软件
课程分享
号卡
电脑软件
PHP
值得一看
HTML
js
小程序
教程
chatgpt
AI
ThinkPHP
联通
老K博客
累计撰写
426
篇文章
累计收到
342
条评论
今日撰写
0
篇文章
首页
首页
栏目
技术分享
源码分享
课程分享
号卡套餐
移动专区
电信专区
联通专区
广电专区
软件仓库
电脑软件
安卓软件
活动线报
值得一看
页面
统计
免费Chat GPT
关于
友链
每日新闻
视频
高清壁纸
用户登录
登录
搜索到
18
篇与
的结果
2023-10-11
利用微信公众号提供的素材存储当免费图床用
当自己开发小程序时,特别是电商类的小程序,会存储很多图片,图片多的话存储成本就会增大,特别是当用户访问增多后,宽带、流量也是不堪负重。想法微信公众平台提供了一个素材管理,里面可以上传图片、视频、音频等类型的素材,那么是否可以将图片素材上传上去,获取到url作为自己小程序项目的图片服务器呢?当然没问题!根据开发文档的说法:永久图片素材新增后,将带有URL返回给开发者,开发者可以在腾讯系域名内使用(腾讯系域名外使用,图片将被屏蔽)。简单来说就是你只能在腾讯的平台使用这个图片素材URL,否则无法展示,因为有防盗链。开发根据微信公众平台开发文档提供的【新增永久素材】接口可知,分为以下几个步骤实现上传图片素材到微信服务器。获取access_token调用新增永久素材接口进行上传素材获取到素材的永久URL代码如下<?php // 返回JSON header("Content-type:application/json"); // 允许上传的图片后缀 $allowedExts = array("jpeg", "jpg", "png"); // 后缀名 if ($allowedExts[0] == 'jpeg') { $hzm = 'jpg'; }else{ $hzm = $allowedExts[0]; } // 获取选择的文件 $temp = explode(".", $_FILES["file"]["name"]); // 获取文件后缀名 $extension = end($temp); if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 10485760) && in_array($extension, $allowedExts)){ if ($_FILES["file"]["error"] > 0){ $result = array( 'code' => 201, 'msg' => '上传失败'.$_FILES["file"]["error"] ); }else{ // 重命名 $new_file = date("Y-m-d")."-".rand(10000,99999).".".$hzm; // 上传到自己的服务器 move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$new_file); // 获取真实地址 $filepath = realpath(dirname(__FILE__)); $upload_filepath = $filepath."/upload/".$new_file; // 上传到微信服务器 $imgurl = upload_img($upload_filepath); // 验证上传结果 if(strpos($imgurl,'http') !== false){ // 上传成功 $result = array( 'code' => 200, 'msg' => '上传成功', 'url' => $imgurl ); // 删除本地素材 unlink($upload_filepath); }else{ // 上传失败 $result = array( 'code' => 202, 'msg' => '上传失败' ); } } } // 获取access_token function getToken(){ // appid和secret $appid='填写你公众号的appid'; $appsecret='填写你公众号的appsecret'; // 读取access_token include './access_token.php'; // 判断是否过期 if (time() > $access_token['expires']){ // 如果已经过期就得重新获取并缓存 $access_token = array(); $access_token['access_token'] = getNewToken($appid,$appsecret); $access_token['expires']=time()+7000; // 将数组写入php文件 $arr = '<?php'.PHP_EOL.'$access_token = '.var_export($access_token,true).';'.PHP_EOL.'?>'; $arrfile = fopen("./access_token.php","w"); fwrite($arrfile,$arr); fclose($arrfile); // 返回当前的access_token return $access_token['access_token']; }else{ // 如果没有过期就直接读取缓存文件 return $access_token['access_token']; } } // 获取新的access_token function getNewToken($appid,$appsecret){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}"; $access_token_Arr = https_request($url); return $access_token_Arr['access_token']; } // curl请求函数 function https_request ($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $out = curl_exec($ch); curl_close($ch); return json_decode($out,true); } // 上传图片素材到微信服务器 function upload_img($realpath){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://api.weixin.qq.com/cgi-bin/material/add_material?access_token='.getToken().'&type=image'); $data = array( 'media' => new CURLFile($realpath) ); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $upimg = curl_exec($ch); return json_decode($upimg)->url; curl_close($ch); } // 返回JSON对象 echo json_encode($result,JSON_UNESCAPED_UNICODE); ?>请求返回{"media_id":"8IZhZUPXxsG_omeA5giO5By8VyHnjk7_oy0Co9jVWwxpgm-sqhx_Hkz_9rLVF9Ws","url":"http:\/\/mmbiz.qpic.cn\/mmbiz_png\/5zLSKyuEW2Kt5ZGZg7XUx05QyGOVFCpHqKic74qQP4gxzQJYXjwN4aGEiadtfUXax4fCXXV5ia1UnvSwdqxuqLCqA\/0?wx_fmt=png","item":[]}代码解释首先要将图片从客户端(小程序端)上传到你自己的服务器的upload目录然后调用新增永久素材接口从upload目录上传到微信的服务器需要配置公众号的appid和appsecret获取access_token新增永久素材接口需要传入access_token才可以调用access_token有效期是2小时,每天最多获取2000次access_token,超过次数就获取不到,为了能够保证一直都能获取到新的token,不能每上传一次就获取一个新的access_token,量大的话一下子就把2000次用完了。access_token只要在2小时内都可以随便使用,所以需要进行缓存access_token。getToken()这个函数就是缓存access_token的步骤(如果access_token已经超过2小时就获取新的access_token并缓存到本地,如果access_token还没超过2小时直接读取本地缓存的access_token)获取access_token接口需要在公众号后台的安全中心配置白名单ip地址注意图片链接只能在腾讯域名的平台使用,在自建网站无法显示,本文主要将的是小程序调用永久图片素材,是可以用的!扩展如果需要在非腾讯域名下使用永久图片素材的URL,需要搭配反防盗链图片跳板,类似http://xxx.com/?imgurl=永久图片素材URL来绕过防盗链,简单来说就是一个图片服务器代理吧。也可以本地存储一份,两个链接做一个对应,本地只做存储,不做访问,之后别的平台还能用,微信的部分只在微信用,减少流量的访问。
2023年10月11日
52 阅读
0 评论
0 点赞
2023-08-20
word press登陆页美化
PHP部分使用方法很简单,将下面的代码添加到WordPress主题的“functions.php”文件中即可。function io_login_header(){ echo '<div class="login-container"> <div class="login-body"> <div class="login-img shadow-lg position-relative flex-fill"> <div class="img-bg position-absolute"> <div class="login-info"> <h2>'. get_bloginfo('name') .'</h1> <p>'. get_bloginfo('description') .'</p> </div> </div> </div>'; } function io_login_footer(){ echo '</div><!--login-body END--> </div><!--login-container END--> <div class="footer-copyright position-absolute"> <span>Copyright © <a href="'. esc_url(home_url()) .'" class="text-white-50" title="'. get_bloginfo('name') .'" rel="home">'. get_bloginfo('name') .'</a></span> </div>'; } add_action('<a href="https://www.xhybk.com/tag/login" title="更多关于 login 的文章" target="_blank">login</a>_header', 'io_login_header'); add_action('login_footer', 'io_login_footer'); //登录页面的LOGO链接为首页链接 add_filter('login_headerurl',function() {return esc_url(home_url());});css部分同上function custom_login_style(){ $login_color = io_get_option('login_color',array('color-l'=>'','color-r'=>'')); echo '<style type="text/css"> body{background:'.$login_color['color-l'].';background:-o-linear-gradient(45deg,'.$login_color['color-l'].','.$login_color['color-r'].');background:linear-gradient(45deg,'.$login_color['color-l'].','.$login_color['color-r'].');height:100vh} .login h1 a{background-image:url('.io_get_option('logo',get_template_directory_uri() .'/images/logo.png').');width:180px;background-position:center center;background-size:'.io_get_option('login_logo_size',160).'px} .login-container{position:relative;display:flex;align-items:center;justify-content:center;height:100vh} .login-body{position:relative;display:flex;margin:0 1.5rem} .login-img{display:none} .img-bg{color:#fff;padding:2rem;bottom:-2rem;left:0;top:-2rem;right:0;border-radius:10px;background-image:url('.io_get_option('login_ico',get_template_directory_uri() .'/images/login.jpg').');background-repeat:no-repeat;background-position:center center;background-size:cover} .img-bg h2{font-size:2rem;margin-bottom:1.25rem} #login{position:relative;background:#fff;border-radius:10px;padding:28px;width:280px;box-shadow:0 1rem 3rem rgba(0,0,0,.175)} .flex-fill{flex:1 1 auto} .position-relative{position:relative} .position-absolute{position:absolute} .shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important} .footer-copyright{bottom:0;color:rgba(255,255,255,.6);text-align:center;margin:20px;left:0;right:0} .footer-copyright a{color:rgba(255,255,255,.6);text-decoration:none} #login form{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-width:0;padding:0} #login form .forgetmenot{float:none} .login #login_error,.login .message,.login .success{border-left-color:#40b9f1;box-shadow:none;background:#d4eeff;border-radius:6px;color:#2e73b7} .login #login_error{border-left-color:#f1404b;background:#ffd4d6;color:#b72e37} #login form p.submit{padding:20px 0 0} #login form p.submit .button-primary{float:none;background-color:#f1404b;font-weight:bold;color:#fff;width:100%;height:40px;border-width:0;text-shadow:none!important;border-color:none;transition:.5s} #login form input{box-shadow:none!important;outline:none!important} #login form p.submit .button-primary:hover{background-color:#444} .login #backtoblog,.login #nav{padding:0} @media screen and (min-width:768px){.login-body{width:1200px} .login-img{display:block} #login{margin-left:-60px;padding:40px} } </style>'; } add_action('login_head', 'custom_login_style');效果图
2023年08月20日
47 阅读
0 评论
0 点赞
2023-08-08
搭建一个简单的首页随机图片api接口
前言我想在这个网站首页加随机动漫壁纸的api,找了一圈发现大家只搭建二次元老婆的,索性我就自己搞一个api。理一下思路:准备好我们需要的图片。自己上传到 七牛云 空间或直接用图片地址部署到服务器中通过api调用实现准备图片这里有两种方法:第一种,将图片保存下来,然后上传到七牛云的免费空间里,再使用返回的地址第二种,在网上找到想要的图片,然后右键复制图片地址使用,缺点就是图片会失效,得不定时清理,而第一种则是由我们自己管理。部署服务器因为这个方法很简单,只用到两个文件,所以直接在现有站点文件下新建这两个文件,或单建一个文件夹,在里面建这两个文件。在该文件夹下新建两个文件——wallpaper.txt和random.phpwallpaper和random可以自行修改命名,在引用的时候一并修改前提服务器要有php环境 img.txt文件存放我们获得的图片链接 我用来演示,用的上面说的第二种方法。配置random文件<?php //存有美图链接的文件名wallpaper.txt $filename = "wallpaper.txt"; if(!file_exists($filename)){ die('文件不存在'); } //从文本获取链接 $pics = []; $fs = fopen($filename, "r"); while(!feof($fs)){ $line=trim(fgets($fs)); if($line!=''){ array_push($pics, $line); } } //从数组随机获取链接 $pic = $pics[array_rand($pics)]; //返回指定格式 $type=$_GET['type']; switch($type){ //JSON返回 case 'json': header('Content-type:text/json'); die(json_encode(['pic'=>$pic])); default: die(header("Location: $pic")); } ?>这样就可以了通过api访问图片通过http://域名/random.php即可调用我们的api接口;此时,访问www.laokbk.cn/api/random.php会发现首页图片已经变成了我们上传的图片,并且每次刷新会随机更换。
2023年08月08日
40 阅读
0 评论
0 点赞
2023-07-31
Typecho博客程序禁用F12代码
虽然没多少人会在意被扒代码,但我还是分享一下。当然我不是为了防爬代码,我是因为其他的原因要隐藏F12。接下来就说说代码我在网上找到不少,但我发现或多或少的都有点问题,所以分享一段我自己用的效果就是按下F12直接关闭当前页面。代码展示直接放到主题文件下footer.php文件的最后面<script> function fuckyou(){ window.close(); //关闭当前窗口(防抽) window.location="about:blank"; //将当前窗口跳转置空白页 } function click(e) { if (document.all) { if (event.button==2||event.button==3) { alert("禁止拿代码"); oncontextmenu='return false'; } } if (document.layers) { if (e.which == 3) { oncontextmenu='return false'; } } } if (document.layers) { fuckyou(); document.captureEvents(Event.MOUSEDOWN); } document.onmousedown=click; document.oncontextmenu = new Function("return false;") document.onkeydown =document.onkeyup = document.onkeypress=function(){ if(window.event.keyCode == 123) { fuckyou(); window.event.returnValue=false; return(false); } } </script>...这样就可以了。
2023年07月31日
97 阅读
0 评论
0 点赞
2023-07-22
玩转PHP:简单易学的服务器脚本语言
:掌握PHP的基础知识,快速构建动态网站引言:PHP(Hypertext Preprocessor)是一种开源的服务器脚本语言,具有简单易学的特点,广泛应用于动态网页的开发。本文将为您介绍如何玩转PHP,从基础知识到高级技巧,助您快速构建全功能的动态网站。第一部分:PHP基础知识什么是PHP?PHP是一种服务器脚本语言,其主要作用是于服务器端生成动态网页。与HTML静态页面不同,PHP可以在服务器上处理数据并输出动态内容。它是一种解释型语言,不需要编译器即可运行。PHP的环境搭建要玩转PHP,首先需要搭建PHP的开发环境。您可以选择安装集成开发环境(IDE),如XAMPP或WampServer,也可以手动安装PHP、Apache和MySQL等组件。PHP的基本语法和数据类型与其他编程语言相比,PHP的语法非常简洁易懂。在本节中,我们将介绍PHP的基本语法、变量命名规则和数据类型,包括整数、浮点数、字符串、数组等。控制流程和函数了解PHP的控制流程很重要,这将帮助您编写具有逻辑性的代码。本节将介绍if语句、for循环和switch语句等控制流程结构,并向您展示如何编写自定义函数来提高代码的可重用性。第二部分:与数据库交互使用MySQL数据库在构建动态网站时,与数据库的交互是不可缺少的一部分。PHP与MySQL数据库的兼容性很好,可以轻松实现数据的增删改查。本节将教您如何连接MySQL数据库,执行SQL查询和更新操作。防止SQL注入攻击保护网站免受SQL注入攻击是每个开发者的责任。通过采取一些防范措施,如使用预处理语句、过滤用户输入等,可以有效预防此类攻击。本节将介绍如何编写安全的SQL查询,并提供一些防范策略。第三部分:构建动态网站使用模板引擎模板引擎是构建动态网站的重要工具,可以将PHP与HTML分离,提高代码的可读性和维护性。本节将介绍几种常用的模板引擎,如Smarty和Twig,并演示如何使用模板引擎来构建动态页面。用户认证与权限管理在许多网站中,用户认证和权限管理是必不可少的功能。本节将教您如何使用PHP实现用户注册、登录和权限控制功能,确保只有授权用户才能访问敏感信息。Web表单处理Web表单是网站交互的重要方式之一。在本节中,我们将教您如何使用PHP处理表单数据,包括输入验证、数据过滤和错误处理等。第四部分:PHP的高级特性面向对象编程(OOP)面向对象编程(OOP)是PHP的高级特性之一,它提供了一种更加结构化和可重用的开发方式。本节将讲解PHP的类和对象、封装、继承和多态等OOP的基本概念。异常处理异常处理是一种优雅处理错误的方式,可以使代码更加健壮和可读。本节将介绍PHP的异常处理机制,并提供一些最佳实践,帮助您编写可靠的代码。使用第三方库和框架PHP有许多优秀的第三方库和框架可供使用,如Laravel和Symfony等。本节将介绍一些常用的PHP库和框架,展示它们的功能和用法,并向您推荐几个不错的开源项目。总结:通过阅读本文,您应该对PHP有了更全面的了解,并掌握了基本的开发技巧。从PHP的基础知识到与数据库的交互,再到构建动态网站和使用高级特性,希望本文能帮助您玩转PHP,成为一名优秀的PHP开发者。祝您编写出高效、安全和可维护的动态网站!
2023年07月22日
41 阅读
0 评论
0 点赞
1
2
3
4
CC BY-NC-ND