首页
📷在线壁纸
🎬娱乐天地
🔖友情链接
更多
📝留言板
Search
1
【javascript】JS-向当前url追加参数
2,345 阅读
2
【PHP】生成随机昵称
2,219 阅读
3
【PHP】判断一个字符串是否属于序列化后的数据
2,024 阅读
4
【css】html+css给文章页,做阅读全文
1,975 阅读
5
【PHP】 设计模式(23种)
1,910 阅读
📂默认分类
💓typecho
🏳️🌈代码改变世界
🍇 mysql
🍈 Winform
🍓 golang
🍉 设计模式
🥝 PHP
🍎 python
🍊 nginx
🍋 网络安全
🍍 javascript
🫑 database
🍭文艺范
🍏mac
AI
LLM
image
audio
yolo
3D
code
登录
Search
标签搜索
php
typecho
代码注释
redis
mysql
go
golang
nginx
thinkphp
docker
gin
linux
curl
html
mamp
算法
短网址
构造函数
webhook
代码片段
依然范儿特西
累计撰写
145
篇文章
累计收到
1
条评论
首页
栏目
📂默认分类
💓typecho
🏳️🌈代码改变世界
🍇 mysql
🍈 Winform
🍓 golang
🍉 设计模式
🥝 PHP
🍎 python
🍊 nginx
🍋 网络安全
🍍 javascript
🫑 database
🍭文艺范
🍏mac
AI
LLM
image
audio
yolo
3D
code
页面
📷在线壁纸
🎬娱乐天地
🔖友情链接
📝留言板
搜索到
145
篇与
的结果
2021-06-08
【Typecho】Typecho 添加是否被百度收录
我们是否经常在一些网友的博客内容页看到 "百度已收录" 等字样?其实这样加上去有多少效果也没有多少,但是对于有些个人来说他喜欢的,或者可以在考核编辑的时候可以看看他们的文案是否达到有效的收录率。如果你有使用 Typecho 程序,可以通过下面的方法实现。第一、添加脚本/** * 提示文章百度是否收录 * */ function baidu_record() { $url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if(checkBaidu($url)==1){ echo "百度已收录"; }else{ echo "<a style=\"color:red;\" rel=\"external nofollow\" title=\"点击提交收录!\" target=\"_blank\" href=\"http://zhanzhang.baidu.com/sitesubmit/index?sitename=$url\">百度未收录</a>";} } function checkBaidu($url) { $url = 'http://www.baidu.com/s?wd=' . urlencode($url); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $rs = curl_exec($curl); curl_close($curl); if (!strpos($rs, '没有找到')) { //没有找到说明已被百度收录 return 1; } else { return -1; } } 将脚本添加到当前 Typecho 主题中的 Functions.php 文件中。第二、调出效果<?php echo baidu_record() ?>在合适的位置调出即可,如果我们有特定样式可以用一个 span 标签包含处理。
2021年06月08日
148 阅读
0 评论
2 点赞
2021-06-08
【Typecho】 Typecho去掉 index.php
Typecho 后台设置永久链接后,会在域名后加上 index.php,很多人都接受不了。例如如下网址: https://richerdyoung.com/index.php/p/75.html 但我们希望最终的形式是这样: https://richerdyoung.com/p/75.html 那么我们如何做到这样的效果?1. 配置服务器的 rewrite 规则nginx server { listen 80; server_name richerdyoung.com; root /home/laofan/www/; index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; } location ~ .*\.php(\/.*)*$ { include fastcgi.conf; fastcgi_pass 127.0.0.1:9000; } access_log logs/richerdyoung.com.log combined; }apache 配置 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] </IfModule> 2. 后台配置 typecho 伪静态在 typecho 后台,开启伪静态,并选择你喜好的 url形式:网站设置-》永久链接,选择启用地址重写功能
2021年06月08日
196 阅读
0 评论
0 点赞
2021-06-08
【Typecho 】typecho 自带版权说明代码
<script> document.body.addEventListener('copy', function (e) { if (window.getSelection().toString() && window.getSelection().toString().length > 10) { setClipboardText(e); } }); function setClipboardText(event) { var clipboardData = event.clipboardData || window.clipboardData; if (clipboardData) { event.preventDefault(); var htmlData = '' + '著作权归作者所有。<br>' + '商业转载请联系作者获得授权,非商业转载请注明出处。<br>' + '作者:<?php $this->author() ?><br>' + '链接:' + window.location.href + '<br>' + '来源:<?php $this->options->siteUrl(); ?><br><br>' + window.getSelection().toString(); var textData = '' + '著作权归作者所有。\n' + '商业转载请联系作者获得授权,非商业转载请注明出处。\n' + '作者:<?php $this->author() ?>\n' + '链接:' + window.location.href + '\n' + '来源:<?php $this->options->siteUrl(); ?>\n\n' + window.getSelection().toString(); clipboardData.setData('text/html', htmlData); clipboardData.setData('text/plain',textData); } } </script> 效果著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:依然范儿特西 链接:https://richerdyoung.com/p/74.html 来源:https://richerdyoung.com/
2021年06月08日
180 阅读
0 评论
1 点赞
2021-06-07
【Linux】一文详解scp命令
scp加密的方式在本地主机和远程主机之间复制文件补充说明scp命令 用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。语法scp(选项)(参数)选项-1:使用ssh协议版本1; -2:使用ssh协议版本2; -4:使用ipv4; -6:使用ipv6; -B:以批处理模式运行; -C:使用压缩; -F:指定ssh配置文件; -i:identity_file 从指定文件中读取传输时使用的密钥文件(例如亚马逊云pem),此参数直接传递给ssh; -l:指定宽带限制; -o:指定使用的ssh选项; -P:指定远程主机的端口号; -p:保留文件的最后修改时间,最后访问时间和权限模式; -q:不显示复制进度; -r:以递归方式复制。 参数源文件:指定要复制的源文件。目标文件:目标文件。格式为user@host:filename(文件名为目标文件的名称)。实例从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。从远程机器复制文件到本地目录scp root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/从10.10.10.10机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz 文件到本地/opt/soft/目录中。从亚马逊云复制OpenVPN到本地目录scp -i amazon.pem ubuntu@10.10.10.10:/usr/local/openvpn_as/etc/exe/openvpn-connect-2.1.3.110.dmg openvpn-connect-2.1.3.110.dmg从10.10.10.10机器上下载openvpn安装文件到本地当前目录来。从远程机器复制到本地scp -r root@10.10.10.10:/opt/soft/mongodb /opt/soft/从10.10.10.10机器上的/opt/soft/中下载mongodb目录到本地的/opt/soft/目录来。上传本地文件到远程机器指定目录scp /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest # 指定端口 2222 scp -rp -P 2222 /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest复制本地/opt/soft/目录下的文件nginx-0.5.38.tar.gz到远程机器10.10.10.10的opt/soft/scptest目录。上传本地目录到远程机器指定目录scp -r /opt/soft/mongodb root@10.10.10.10:/opt/soft/scptest上传本地目录/opt/soft/mongodb到远程机器10.10.10.10上/opt/soft/scptest的目录中去。
2021年06月07日
169 阅读
0 评论
1 点赞
2021-06-07
【Sql】mysql whereIn根据查询id排序
mysql in根据查询id排序mysql in根据查询时,返回结果是自行排序的,如果要按照我们查询的ID进行排序,要用到order by field,下面用几个例子来说明一下mysql in查询排序SQL:select * from laofan_table where id IN (3,6,9,1,2,5,8,7);这样的情况取出来后,其实,id还是按1,2,3,4,5,6,7,8,9,排序的,但如果我们真要按IN里面的顺序排序怎么办?我们可以用order by fieldSQL: select * from laofan_table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7);查询出来的结果就是按自定义的ID进行排序了.orm 用法$ret = Db::table('laofan') ->field('*') ->whereIn('id',$ids) ->order('id',$ids) ->select() ->toArray();
2021年06月07日
192 阅读
0 评论
0 点赞
2021-06-05
重新自定义typecho头像
看看以前的QQ头像替代默认的Gavatar头像功能,感觉不是很理想。因为当访客使用QQ邮箱评论时会显示QQ头像,可是如果使用的不是QQ头像,就会显示一个QQ企鹅头像,这样子在我看来是不行的。于是又萌生了修改的想法。首先,将下面的代码丢到funtions.php文件当中。//获取Gravatar头像 QQ邮箱取用qq头像 function getGravatar($email, $s = 96, $d = 'mp', $r = 'g', $img = false, $atts = array()) { preg_match_all('/((\d)*)@qq.com/', $email, $vai); if (empty($vai['1']['0'])) { $url = 'https://www.gravatar.com/avatar/'; $url .= md5(strtolower(trim($email))); $url .= "?s=$s&d=$d&r=$r"; if ($img) { $url = '<img src="' . $url . '"'; foreach ($atts as $key => $val) $url .= ' ' . $key . '="' . $val . '"'; $url .= ' />'; } }else{ $url = 'https://q2.qlogo.cn/headimg_dl?dst_uin='.$vai['1']['0'].'&spec=100'; } return $url; }其次,再将下面的代码复制到需要放头像的页面,通常是comments.php页面和sidebar.php页面。 <?php $email=$comments->mail; $imgUrl = getGravatar($email);echo '<img src="'.$imgUrl.'" width="45px" height="45px" style="border-radius: 50%;" >'; ?> 大功告成!该代码可以实现的功能:当客户评论时用的不是QQ邮箱,则显示gavatar头像,否则则显示QQ头像。完美!
2021年06月05日
245 阅读
0 评论
0 点赞
2021-06-04
【PHP】获取上周、本周、上月、本月、本季度、上季度、上年、本年时间方法大全
/** * 根据类型获取时间格式 * @param $time_type : 1年; 2季度; 3月; 4周; 5日; * @return time_start 开始时间 * @return time_end 结束时间 */ function sys_get_time_around($time_type) { $now_start = 0; $now_end=0; $last_start= 0; $last_end = 0; $now_time = time(); switch ($time_type) { case 'year': //今年 $now_start = mktime(0,0,0,1,1,date('Y')); $now_end = mktime(23,59,59,12,31,date('Y')); //去年 $last_start = mktime(0,0,0,1,1,date('Y')-1); $last_end = mktime(23,59,59,12,31,date('Y')-1); break; case 'quarter': $season = ceil((date('n'))/3)-1;//上季度是第几季度 //本季度 $now_season = ceil((date('n'))/3);//当月是第几季度 $now_start = mktime(0, 0, 0,$now_season*3-3+1,1,date('Y')); $now_end = mktime(23,59,59,$now_season*3,date('t',mktime(0, 0 , 0,$now_season*3,1,date("Y"))),date('Y')); //上一季度 $last_season = ceil((date('n'))/3)-1;//上季度是第几季度 $last_start = mktime(0, 0, 0,$last_season*3-3+1,1,date('Y')); $last_end = mktime(23,59,59,$last_season*3,date('t',mktime(0, 0 , 0,$last_season*3,1,date("Y"))),date('Y')); break; case 'month': //本月 $now_start = mktime(0,0,0,date('m'),1,date('Y')); $now_end = mktime(23,59,59,date('m'),date('t'),date('Y')); //上月 $last_start = mktime(0,0,0,date('m')-1,1,date('Y')); $last_end = mktime(23,59,59,date('m'),0,date('Y')); break; case 'week': //mktime 是从周日开始算,结束时间是周六 //本周 // $now_start = mktime(0,0,0,date('m'),date('d')-date('w')+1,date('Y')); // $now_end = mktime(23,59,59,date('m'),date('d')-date('w')+7,date('Y')); // //上周 // $last_start = mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y')); // $last_end = mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y')); //本周 $now_start = strtotime(date("Y-m-d 00:00:00",strtotime("this week Monday",$now_time ))); $now_end = strtotime(date("Y-m-d 23:59:59",strtotime("this week Sunday",$now_time ))); //上周 $last_start = strtotime(date("Y-m-d 00:00:00",strtotime("last week Monday",$now_time ))); $last_end = strtotime(date("Y-m-d 23:59:59",strtotime("last week Sunday",$now_time ))); break; case 'day': //今日 $now_start = mktime(0,0,0,date('m'),date('d'),date('Y')); $now_end = mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; //昨日 $last_start = mktime(0,0,0,date('m'),date('d')-1,date('Y')); $last_end = mktime(23,59,59,date('m'),date('d')-1,date('Y')); break; default: # code... break; } $retult = [ 'time_type'=>$time_type, 'now_start'=>date('Y-m-d H:i:s',$now_start), 'now_end'=>date('Y-m-d H:i:s',$now_end), 'last_start'=>date('Y-m-d H:i:s',$last_start), 'last_end'=>date('Y-m-d H:i:s',$last_end), ]; return $retult; } 调用 $a = sys_get_time_around('week'); print_r($a);exit;此处一定要注意,本周和上周的时候,mktime是从 周日到周六,避免被坑
2021年06月04日
1,558 阅读
0 评论
1 点赞
2021-06-04
【PHP】 如何避免在foreach 里查询数据库
<?php ### 如何避免在foreach 里查询数据库 /** * 场景: * 商品表: goods * goods_id 商品ID * goods_name 商品名称 * brand_id 品牌id * 品牌表: brand * brand_id * brand_name **/ //此时我们已经得到一组数据,想到拿到品牌名称(此处为了演示。不考虑链表查询的情况下) $data_list = [ [ 'id'=>1, 'goods_id'=>1, 'goods_name'=>'老范测试', 'brand_id'=>1, //或许会拿更多字段,比如 产地,规格,等等 ], //-----或许更多数据 ]; /** * 错误示例 * 在业务量大的情况下。此处会多次读取数据库。增加数据库压力 */ foreach ($data_list as $key => $value) { $brand_mes = Db::table('brand')->field('name')->where(['id'=>$value['brand_id']])->find() if(!empty($brand_mes)){ $data_list[$key]['brand_name'] = $brand_mes['name']; }else{ $data_list[$key]['brand_name'] = '老范品牌'; //此处给一个默认值 } } /** * 建议使用以下用法,数据库查询一次,把其他操作放在内存里,以减少数据库IO * */ $brand_id_str = array_column($data_list,'brand_id'); //查询当前品牌ID包含所有品牌信息 $brand_list = Db::table('brand')->field('id,name')->whereIn('id',$brand_id_str)->select() $res_brand_array = []; if(!empty($brand_list)){ foreach ($brand_list as $k => $v) { // brand_id => brand_name 以这种形式存储,便于读取 $res_brand_array[$v['id']]=$v['name']; } } //最后组装数据 foreach ($data_list as $key => $value) { if(isset($res_brand_array[$value['brand_id']]) && !empty($res_brand_array[$value['brand_id']])){ $data_list[$key]['brand_name'] =$res_brand_array[$value['brand_id']; }else{ $data_list[$key]['brand_name'] = '老范品牌'; //此处给一个默认值 } //此处也可以增加其他字段的判定操作 } ?>
2021年06月04日
171 阅读
0 评论
2 点赞
2021-06-02
【javascript】JS-向当前url追加参数
var cate_id = 3; //当前url 追加参数 var newurl = updateQueryStringParameter(window.location.href, 'cate_id', cate_id); window.location.href = newurl; //当前url 追加参数 function updateQueryStringParameter(uri, key, value) { if(!value) { return uri; } var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); var separator = uri.indexOf('?') !== -1 ? "&" : "?"; if (uri.match(re)) { return uri.replace(re, '$1' + key + "=" + value + '$2'); } else { return uri + separator + key + "=" + value; } }
2021年06月02日
2,345 阅读
0 评论
1 点赞
2021-05-26
【PHP】抽奖算法
传入一个概率。得出是否中奖
2021年05月26日
1,709 阅读
0 评论
1 点赞
1
...
9
10
11
...
15