首页
留言板
统计
Search
1
阿里云国际OSS使用CloudFlare免流量
2,263 阅读
2
PP.UA免费域名注册
2,173 阅读
3
Adobe Photoshop CS2经典版 中文原版
2,158 阅读
4
7-Zip中文美化版
2,027 阅读
5
获取免费的 Microsoft 365 E5 开发人员订阅
1,941 阅读
软件分享
网络资源
网络代码
生活情感
免费主机
Search
标签搜索
代码
工具软件
Android
教程
Emlog
办公软件
图形图像
免费空间
Web
情感
PHP
视频
系统工具
上传下载
Windows
建站
PDF
网盘
学习
Typecho
ZJ
累计撰写
802
篇文章
累计收到
105
条评论
首页
栏目
软件分享
网络资源
网络代码
生活情感
免费主机
页面
留言板
统计
搜索到
31
篇与
的结果
2020-11-14
一款漂亮的时光轴代码
代码如下:<meta charset="utf-8" /> <title> 说说 </title> <link rel="stylesheet" href="https://blog.hidove.cn/usr/uploads/2019/07/160653264.css" type="text/css" /> <!-- <style type="text/css"> </style> --> <ul class="cbp_tmtimeline"> <li> <time class="cbp_tmtime"> <span>2018-09-11</span></time> <div class="cbp_tmlabel"> <p> 截止 2018-09-11 号。总更新文章 77 篇,获得 N 条评论 </p> </div> </li> <li> <time class="cbp_tmtime"> <span>2018-08-30</span></time> <div class="cbp_tmlabel"> <p> 暑假结束了,开始学习了! </p> </div> </li> <li> <time class="cbp_tmtime"> <span>2018-08-06</span></time> <div class="cbp_tmlabel"> <p> 站长工具发布! </p> </div> </li> </ul>注意:你需要将https://blog.hidove.cn/usr/uploads/2019/07/160653264.css CSS下载放进你自己的服务器中。
2020年11月14日
194 阅读
0 评论
0 点赞
2020-10-28
EMLOG程序结构介绍 header.php
在emlog程序中的 header.php是EMLOG模板的页面头部文件,也是每一个EMLOG模板开发者必须熟悉和了解的文件之一。header.php也是存储模板信息和控制模板顶部元素的文件,该文件是必须存在的,如果emlog系统检测不到该文件的存在,emlog将不会运行。一、注释内容部分开始的注释内容包含模板的各种信息,这些信息将会显示在后台管理界面中的模板选择界面Template Name:模板名称Description:模板介绍描述Author:模板作者Author Url:作者或模板发布的URLSidebar Amount:标记该模板有几个侧边栏,一般为1,有些模板有两个侧边栏则标记2。这样可以在后台widgets里识别管理(具体可下载体验官方收录的模板G7)。二、具体代码部分1、if(!defined('EMLOG_ROOT')) {exit('error!');} 该行代码同样存在于其它模板文件中,为防止该文件被直接执行。2、require_once View::getView('module'); 加载模板公共代码,需要注意的是加粗部分与3.x有变化,模板升级的同学需要注意一下。3、$blogtitle:标题4、$site_key:关键字(4.0的关键字可以输出日志的标签了)5、$description:输出个人博客设置的摘要6、BLOG_URL:个人博客首页的URL,输出形如http://127.0.0.1/7、TEMPLATE_URL:模板文件夹的URL,用于加载模板内的css、js及其他内容,输出形如http://127.0.0.1/content/templates/simue-tuso/8、BLOG_URL.Option::get('topimg'):这句可以无视,因为只默认模板可以自定义banner,其它模板没这功能(卡片语:很没营养的设定,嗯。)8、<?php echo $curpage == CURPAGE_HOME ? 'current' : 'common';?>判断当前是否首页,是则给导航加current类,用于表现当前位置。9、<?php if($istwitter == 'y'):?>.......<?php endif;?>如后台设置在前台显示碎语,则输出.......中的内容。10、<?php echo $curpage == CURPAGE_TW ? 'current' : 'common';?>判断当前URL是否为碎语并选择加类名。11、<?php foreach ($navibar as $key => $val):?>.......<?php endforeach;?>输出自定义页面的链接12、<?php doAction('navbar', '<li class="common">', '</li>'); ?>导航挂载点加入,第2、3参数分别为包裹导航链接的开始和结束部分,可根据模板自定义。14、<?php if(ROLE == 'admin' || ROLE == 'writer'): ?>......<?php endif; ?>如管理员或作者登录则显示.......中的内容。三、前台模板部分挂载点1、doAction('navbar', '<li class="common">', '</li>'); //头部导航挂载点2、doAction('index_footer'); //页脚底部挂载点3、doAction('index_loglist_top'); //首页日志列表顶部挂载点4、doAction('log_related', $logData); //相关日志挂载点5、doAction('diff_side'); //侧边栏挂载点
2020年10月28日
176 阅读
0 评论
0 点赞
2020-10-28
一个PHP文件搞定支付宝微信支付系列
一个PHP文件搞定支付宝支付系列网上的很多PHP支付宝支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后给出一个单文件版的(代码只有200行左右),每个文件独立运行,不依赖和引入其他文件。希望可以给各位想接入支付宝的带来些许帮助和借鉴意义。一个PHP文件搞定微信支付系列网上的很多PHP微信支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后给出一个单文件版的(代码只有200行左右),每个文件独立运行,不依赖和引入其他文件,希望可以给各位想接入微信支付的带来些许帮助和借鉴意义。Github支付宝:https://github.com/dedemao/alipay微 信:https://github.com/dedemao/weixinPay下载地址 蓝奏网盘
2020年10月28日
180 阅读
0 评论
0 点赞
2019-12-14
一款精美的PHP探针
X探针、刘海探针这是一款 PHP 环境探针程序,它不仅可以十分直观地为您显示服务器的信息,而且最重要的是:它跟iPhone X/XS/XS Max/XR 一样有丑陋的刘海! 环境需求编译环境:PHP 7.3+运行环境:PHP 5.3+浏览器兼容:IE9、Chrome、Firefox、Edge、Android系统兼容:Linux、Windows(基础功能)演示地址:https://prober.inn-studio.com开源地址:https://github.com/kmvan/x-prober下载地址 官网下载
2019年12月14日
335 阅读
0 评论
0 点赞
2019-12-10
PHP实现随机选取图像代码
创建images文件夹,把需要选取的图片复制到这个文件夹下,并随机挑选出一张显示出来。<?php $img_array = glob('images/*.{gif,jpg,png,jpeg,webp,bmp}', GLOB_BRACE); if(count($img_array) == 0) die('没找到图片文件。请先上传一些图片到 '.dirname(__FILE__).'/images/ 文件夹'); header('Content-Type: image/png'); echo(file_get_contents($img_array[array_rand($img_array)])); ?>
2019年12月10日
336 阅读
0 评论
0 点赞
2019-12-10
基于本地数据库的IP地址查询
今天来分享一个基于本地数据库的IP地址查询PHP源码:<?php /** * 纯真 IP 数据库查询 * * 参考资料: * - 纯真 IP 数据库 http://www.cz88.net/ip/ * - PHP 读取纯真IP地址数据库 http://ju.outofmemory.cn/entry/42500 * - 纯真 IP 数据库自动更新文件教程 https://www.22vd.com/40035.html * - IpLocation https://github.com/nauxliu/IpLocation/ * - 基于本地数据库的 IP 地址查询 PHP 源码 https://mkblog.cn/?p=1951 * * 使用示例: * $ip = new IPQuery(); * $addr = $ip->query('IP地址'); * print_r($addr); */ class IPQuery { private $fh; // IP数据库文件句柄 private $first; // 第一条索引 private $last; // 最后一条索引 private $total; // 索引总数 private $dbFile = __DIR__ . DIRECTORY_SEPARATOR . 'qqwry.dat'; // 纯真 IP 数据库文件存放路径 private $dbExpires = 86400 * 10; // 数据库文件有效期(10天)如无需自动更新 IP 数据库,请将此值改为 0 // 构造函数 function __construct() { // IP 数据库文件不存在或已过期,则自动获取 if(!file_exists($this->dbFile) || ($this->dbExpires && ((time() - filemtime($this->dbFile)) > $this->dbExpires))) { $this->update(); } } // 忽略超时 private function ignore_timeout() { @ignore_user_abort(true); @ini_set('max_execution_time', 48 * 60 * 60); @set_time_limit(48 * 60 * 60); // set_time_limit(0) 2day @ini_set('memory_limit', '4000M');// 4G; } // 读取little-endian编码的4个字节转化为长整型数 private function getLong4() { $result = unpack('Vlong', fread($this->fh, 4)); return $result['long']; } // 读取little-endian编码的3个字节转化为长整型数 private function getLong3() { $result = unpack('Vlong', fread($this->fh, 3).chr(0)); return $result['long']; } // 查询位置信息 private function getPos($data = '') { $char = fread($this->fh, 1); while (ord($char) != 0) { // 地区信息以 0 结束 $data .= $char; $char = fread($this->fh, 1); } return $data; } // 查询运营商 private function getISP() { $byte = fread($this->fh, 1); // 标志字节 switch (ord($byte)) { case 0: $area = ''; break; // 没有相关信息 case 1: // 被重定向 fseek($this->fh, $this->getLong3()); $area = $this->getPos(); break; case 2: // 被重定向 fseek($this->fh, $this->getLong3()); $area = $this->getPos(); break; default: $area = $this->getPos($byte); break; // 没有被重定向 } return $area; } // 检查 IP 格式是否正确 public function checkIp($ip) { $arr = explode('.', $ip); if(count($arr) != 4) return false; for ($i = 0; $i < 4; $i++) { if ($arr[$i] < '0' || $arr[$i] > '255') { return false; } } return true; } // 查询 IP 地址 public function query($ip) { if(!$this->checkIp($ip)) { return false; } $this->fh = fopen($this->dbFile, 'rb'); $this->first = $this->getLong4(); $this->last = $this->getLong4(); $this->total = ($this->last - $this->first) / 7; // 每条索引7字节 $ip = pack('N', intval(ip2long($ip))); // 二分查找 IP 位置 $l = 0; $r = $this->total; while($l <= $r) { $m = floor(($l + $r) / 2); // 计算中间索引 fseek($this->fh, $this->first + $m * 7); $beginip = strrev(fread($this->fh, 4)); // 中间索引的开始IP地址 fseek($this->fh, $this->getLong3()); $endip = strrev(fread($this->fh, 4)); // 中间索引的结束IP地址 if ($ip < $beginip) { // 用户的IP小于中间索引的开始IP地址时 $r = $m - 1; } else { if ($ip > $endip) { // 用户的IP大于中间索引的结束IP地址时 $l = $m + 1; } else { // 用户IP在中间索引的IP范围内时 $findip = $this->first + $m * 7; break; } } } // 查找 IP 地址段 fseek($this->fh, $findip); $location['beginip'] = long2ip($this->getLong4()); // 用户IP所在范围的开始地址 $offset = $this->getlong3(); fseek($this->fh, $offset); $location['endip'] = long2ip($this->getLong4()); // 用户IP所在范围的结束地址 // 查找 IP 信息 $byte = fread($this->fh, 1); // 标志字节 switch (ord($byte)) { case 1: // 都被重定向 $countryOffset = $this->getLong3(); // 重定向地址 fseek($this->fh, $countryOffset); $byte = fread($this->fh, 1); // 标志字节 switch (ord($byte)) { case 2: // 信息被二次重定向 fseek($this->fh, $this->getLong3()); $location['pos'] = $this->getPos(); fseek($this->fh, $countryOffset + 4); $location['isp'] = $this->getISP(); break; default: // 信息没有被二次重定向 $location['pos'] = $this->getPos($byte); $location['isp'] = $this->getISP(); break; } break; case 2: // 信息被重定向 fseek($this->fh, $this->getLong3()); $location['pos'] = $this->getPos(); fseek($this->fh, $offset + 8); $location['isp'] = $this->getISP(); break; default: // 信息没有被重定向 $location['pos'] = $this->getPos($byte); $location['isp'] = $this->getISP(); break; } // 信息转码处理 foreach ($location as $k => $v) { $location[$k] = iconv('gb2312', 'utf-8', $v); $location[$k] = preg_replace(array('/^.*CZ88\.NET.*$/isU', '/^.*纯真.*$/isU', '/^.*日IP数据/'), '', $location[$k]); $location[$k] = htmlspecialchars($location[$k]); } return $location; } // 更新数据库 https://www.22vd.com/40035.html public function update() { $this->ignore_timeout(); $copywrite = file_get_contents('http://update.cz88.net/ip/copywrite.rar'); $qqwry = file_get_contents('http://update.cz88.net/ip/qqwry.rar'); $key = unpack('V6', $copywrite)[6]; for($i = 0; $i < 0x200; $i++) { $key *= 0x805; $key ++; $key = $key & 0xFF; $qqwry[$i] = chr(ord($qqwry[$i]) ^ $key); } $qqwry = gzuncompress($qqwry); file_put_contents($this->dbFile, $qqwry); } // 析构函数 function __destruct() { if($this->fh) { fclose($this->fh); } $this->fp = null; } }使用方法将上面的模块代码保存为 IPQuery.class.php,然后按照如下方法调用即可:<?php require_once('IPQuery.class.php'); $ip = new IPQuery(); $addr = $ip->query('123.233.233.233'); echo "<pre> IP起始段:{$addr['beginip']} IP结束段:{$addr['endip']} 实际地址:{$addr['pos']} 运 营 商:{$addr['isp']} </pre>";注:本模块会在第一次被调用时自动从纯真网下载最新的 IP 数据库到本地,因此第一次进行查询时会有点慢。
2019年12月10日
301 阅读
0 评论
0 点赞
2019-12-10
PHP简单实现一言随机一句功能
首先新建一个php文件,命名为api.php,再新建一个文件,命名为data.dat(两个文件均需采用 UTF-8 编码,否则会乱码)。打开 data.dat,在里面贴入要随机显示出来的文本,一行一条。将下列代码复制并粘贴到api.php中保存,你的专属“一言” API就搭建完成了!fopen + fgets 函数实现代码<?php // 存储数据的文件 $filename = 'data.dat'; // 指定页面编码 header('Content-type: text/html; charset=utf-8'); if(!file_exists($filename)) { die($filename . ' 数据文件不存在'); } $data = array(); // 打开文档 $fh = fopen($filename, 'r'); // 逐行读取并存入数组中 while (!feof($fh)) { $data[] = fgets($fh); } // 关闭文档 fclose($fh); // 随机获取一行索引 $result = $data[array_rand($data)]; echo $result;file_get_contents 函数实现代码<?php // 存储数据的文件 $filename = 'data.dat'; // 指定页面编码 header('Content-type: text/html; charset=utf-8'); if(!file_exists($filename)) { die($filename . ' 数据文件不存在'); } // 读取整个数据文件 $data = file_get_contents($filename); // 按换行符分割成数组 $data = explode(PHP_EOL, $data); // 随机获取一行索引 $result = $data[array_rand($data)]; // 去除多余的换行符(保险起见) $result = str_replace(array("\r","\n","\r\n"), '', $result); echo $result;如何在静态页面中引用上面的代码都是直接在页面中就输出了随机的句子。如果想像一言那样在静态的网页中引用这个api,将最后那一行的 echo $result; 换成:echo 'document.write("'.htmlspecialchars($result).'");';然后在需要的位置进行调用即可。代码:<script src="http://你的网址/api.php"></script>
2019年12月10日
270 阅读
0 评论
0 点赞
2019-12-09
域名防红代码
今天分享一段QQ内打开网址提示跳转到浏览器的代码,可以域名防红。将以下代码放在网站根目录下index.php文件的顶端。 <?php $conf['qqjump']=1; if(strpos($_SERVER['HTTP_USER_AGENT'], 'QQ/')!==false && $conf['qqjump']==1){$a='http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; echo '<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>请使用浏览器打开</title> <script src="https://open.mobile.qq.com/sdk/qqapi.js?_bid=152"></script> <script type="text/javascript"> mqq.ui.openUrl({ target: 2,url: "'.$a.'"}); </script> </head> <body>请使用浏览器打开</body> </html>';exit;} ?>
2019年12月09日
360 阅读
0 评论
0 点赞
1
2
3
4