首页
留言板
统计
Search
1
阿里云国际OSS使用CloudFlare免流量
2,339 阅读
2
PP.UA免费域名注册
2,192 阅读
3
Adobe Photoshop CS2经典版 中文原版
2,178 阅读
4
7-Zip中文美化版
2,039 阅读
5
获取免费的 Microsoft 365 E5 开发人员订阅
1,957 阅读
软件分享
网络资源
网络代码
生活情感
免费主机
Search
标签搜索
工具软件
代码
Android
教程
Emlog
办公软件
图形图像
免费空间
Web
情感
PHP
视频
系统工具
Windows
上传下载
建站
PDF
网盘
Typecho
Office
ZJ
累计撰写
811
篇文章
累计收到
105
条评论
首页
栏目
软件分享
网络资源
网络代码
生活情感
免费主机
页面
留言板
统计
搜索到
99
篇与
的结果
2022-08-26
利用uniCloud搭建免费静态文件存储,阿里云CDN加速!
免费额度单个服务空间容量 10GB账号服务空间上限 50个阿里云CDN,不限量,不限速因为阿里云免费向DCloud提供了硬件资源,所以DCloud也没有向开发者收费。如果阿里云后续明确了收费计划,DCloud也会第一时间公布。官网地址https://dcloud.io/创建应用1)访问:https://unicloud.dcloud.net.cn/home 点击 创建服务空间选择服务商 阿里云服务空间名称 随意3)打开服务空间 – 前端网页托管 – 开通3)点击安装 uni-app(vue2)编译 和 uniCloud云开发5)找到 scss/sass编译 和 less编译,点开详情后,点击【使用HBuilderX导入插件】会调起编辑器安装插件7)在弹出框内,可以看见刚才新建的服务空间,直接点击关联即可。如果没有空间点击新建,按照指示一步一步操作即可8)点击 菜单 – 发行 – 【网站-PC】标题随意,选择服务空间,点击发行按钮10)打开网址即可上传图片了!
2022年08月26日
95 阅读
0 评论
0 点赞
2021-10-21
WP缓存加速插件WP Rocket 3.10.1免授权版
WP Rocket,知名的收费WordPress缓存插件,WP静态缓存优化插件,主要用于页面缓存、静态文件优化,缓存预加载、调整缓存规则等。其它WP缓存优化加速插件推荐:WPJAM Basi(水煮鱼招牌插件),WP Supre Cache(张戈的纯代码版),如果你的服务器是小宽带,建议还是动静分离、静态资源托管CDN。据WP-Rocket缓存插件官方测试,号称性能最高效WordPress动态缓存插件,通过优化JS, CSS静态文件,延迟加载图片、减少频繁加载达到优化速度目的,配置好插件,能让你的WordPress站点速度明显提升。
2021年10月21日
136 阅读
0 评论
0 点赞
2021-10-21
kindeditor插入mp4视频不显示及不过滤video的方法
kindeditor是一款不错的可视化编辑器,考虑到现在h5中的video标签的强大,于是决定将系统中的embed标记更好的video。修改kindeditor-all.js,具体操作如下:1.将video添加为不需要过滤的标签video : ['id', 'class', 'src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess','controls'],
2021年10月21日
126 阅读
0 评论
0 点赞
2021-09-11
Emlog按天数调用热门文章和随机文章列表
在module.php里面添加如下:<?php //30天按点击率排行文章 function getdatelogs($log_num) { $db = Database::getInstance(); $time = time(); $sql = "SELECT gid,title,comnum FROM ".DB_PREFIX."blog WHERE type='blog' AND date > $time - 30*24*60*60 ORDER BY `views` DESC LIMIT 0,$log_num"; $list = $db->query($sql); while($row = $db->fetch_array($list)){ ?> <li class="layout_li"><strong><img src="<?php echo TEMPLATE_URL; ?>/img/hot_1.gif" alt="本月热门"> <?php echo $row['comnum']; ?></strong><a href="<?php echo Url::log($row['gid']); ?>" title="<?php echo $row['title']; ?>"><span><?php echo ++$i;?></span><?php echo $row['title']; ?></a></li> <?php } ?> <?php } ?> <?php //随机文章 function getRandLog($log_num) { $db = Database::getInstance(); $sql = "SELECT gid,title,comnum FROM ".DB_PREFIX."blog WHERE type='blog' and hide='n' ORDER BY rand() LIMIT 0,$log_num"; $list = $db->query($sql); while($row = $db->fetch_array($list)){ ?> <li class="layout_li"><strong><?php echo gettime($row['gid']);?></strong><a href="<?php echo Url::log($row['gid']); ?>" title="<?php echo $row['title']; ?>"><span>荐</span><?php echo $row['title']; ?></a></li> <?php } ?> <?php } ?>调用代码:一般都放在首页文件log_list.php里 <article class="hot_posts "> <div class="suiji"> <h3>随机文章</h3> <ul class="layout_ul"> <li class="layout_li"><?php getRandLog(6);?></li> </ul> </div> <div class="hots"> <h3>本月热门</h3> <ul class="layout_ul"> <li class="layout_li"><?php getdatelogs(6);?></li> </ul> </div> </article> ccs代码: .hot_posts { background-color:#fff; padding:20px; position:relative; font-size:0; box-shadow:0 0px 20px rgba(160, 160, 160, 0.1); border-radius:10px; margin-bottom: 10px; } .hot_posts .suiji { display:inline-block; vertical-align:top; width:50%; padding-right:10px; } .hot_posts .hots { display:inline-block; vertical-align:top; width:50%; padding-left:10px; } .hot_posts h3 { border-bottom:2px #f2f2f2 solid; padding-bottom:6px; margin-bottom:8px; font-size:16px; margin-top:0; position:relative; } .hot_posts h3:after { content:""; color:#ffffff; position:absolute; height:2px; width:30px; background:#45b6f7; left:0; bottom:-2px; -webkit-transition:all .25s ease-in; -moz-transition:all .25s ease-in; transition:all .25s ease-in; } .hot_posts .suiji:hover h3:after, .hot_posts .hots:hover h3:after { width:100px; } .hot_posts ul { padding:0 } .hot_posts ul li { display:block; padding:8px 0; -webkit-transition:ease-in-out 0.25s; transition:ease-in-out 0.25s; font-size:12px; } .hot_posts ul li:hover { font-size:15px; -webkit-transition:ease-in-out 0.25s; transition:ease-in-out 0.25s; } .hot_posts ul li a { display:block; -ms-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; line-height:22px; } .hot_posts ul li strong { float:right; font-weight:normal; line-height:22px; padding-left:15px; } .hot_posts ul li a>img { width:30px; height:22px; margin-right:4px; border-radius:5px; vertical-align:bottom; } .hot_posts span { width:22px; height:22px; background-color:#f2f2f2; display:inline-block; text-align:center; margin-right:4px; border-radius:25px; line-height:22px; color:#666; } .hot_posts ul li:nth-child(1) span { background-color:#ff5a3c; color:#fff; } .hot_posts ul li:nth-child(2) span { background-color:#13b755; color:#fff; } .hot_posts ul li:nth-child(3) span { background-color:#00a9e3; color:#fff; } @media screen and (max-width: 768px) { .hot_posts .suiji { width:100%; margin-bottom:20px; } .hot_posts .hots { width:100%; padding-left:0; } }以下图片放到当前模板文件夹/img/hot_1.gif
2021年09月11日
134 阅读
0 评论
0 点赞
2021-09-11
emlog优化缓存速度
未修改前(include\lib\cache.php)文件路径/** * 用户信息缓存 */private function mc_user() {$user_cache = array();$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "user");while ($row = $this->db->fetch_array($query)) { $photo = array(); $avatar = ''; if(!empty($row['photo'])){ $photosrc = str_replace("../", '', $row['photo']); $imgsize = chImageSize($row['photo'], Option::ICON_MAX_W, Option::ICON_MAX_H); $photo['src'] = htmlspecialchars($photosrc); $photo['width'] = $imgsize['w']; $photo['height'] = $imgsize['h']; $avatar = strstr($photosrc, 'thum') ? str_replace('thum', 'thum52', $photosrc) : preg_replace("/^(.*)\/(.*)$/", "\$1/thum52-\$2", $photosrc); $avatar = file_exists('../' . $avatar) ? $avatar : $photosrc; } $row['nickname'] = empty($row['nickname']) ? $row['username'] : $row['nickname']; $user_cache[$row['uid']] = array( 'photo' => $photo, 'avatar' => $avatar, 'name_orig' => $row['nickname'], 'name' => htmlspecialchars($row['nickname']), 'mail' => htmlspecialchars($row['email']), 'des' => htmlClean($row['description']), 'ischeck' => htmlspecialchars($row['ischeck']), 'role' => $row['role'], );}$cacheData = serialize($user_cache);$this->cacheWrite($cacheData, 'user');}替换下面代码:/** * 用户信息缓存 */private function mc_user() { $user_cache = array(); $query = $this->db->query("SELECT uid,username,nickname,role,ischeck,photo,email,description FROM " . DB_PREFIX . "user"); while ($row = $this->db->fetch_array($query)) { // $photo = array(); /* $avatar = ''; if(!empty($row['photo'])){ $photosrc = str_replace("../", '', $row['photo']); $imgsize = chImageSize($row['photo'], Option::ICON_MAX_W, Option::ICON_MAX_H); $photo['src'] = htmlspecialchars($photosrc); $photo['width'] = $imgsize['w']; $photo['height'] = $imgsize['h']; $avatar = strstr($photosrc, 'thum') ? str_replace('thum', 'thum52', $photosrc) : preg_replace("/^(.*)\/(.*)$/", "\$1/thum52-\$2", $photosrc); $avatar = file_exists('../' . $avatar) ? $avatar : $photosrc; }*/ $row['nickname'] = empty($row['nickname']) ? $row['username'] : $row['nickname']; $user_cache[$row['uid']] = array( 'photo' => $row['photo'], 'avatar' => $row['photo'], 'name_orig' => $row['nickname'], 'name' => htmlspecialchars($row['nickname']), 'mail' => htmlspecialchars($row['email']), 'des' => htmlClean($row['description']), 'ischeck' => htmlspecialchars($row['ischeck']), 'role' => $row['role'], ); } $cacheData = serialize($user_cache); $this->cacheWrite($cacheData, 'user');} emlog核心优化:(admin\save_log.php)文件路径 // 源代码$CACHE->updateCache(); // 修改为:$CACHE->updateCache(array('sta', 'tags', 'newlog', 'logsort', 'logtags'));
2021年09月11日
86 阅读
0 评论
0 点赞
2021-09-11
自动PC端显示 手机端隐藏CSS代码判断实现
实现场景描述:有些内容部署在PC端但是有不适合在手机端显示(比如盒子过大,遮挡内容)或者手机端显示毫无意义等。我们可以使用下面的代码来实现:电脑端显示,手机端隐藏。实现方法:@media screen and (max-width: 1221px) { .wapnone{display:none; } } 调用多个<class> @media screen and (max-width: 1221px) { .tool_cai,.tool_code,.tool_zan{display:none;} } 调用ID @media screen and (max-width: 1221px) { #lzxPlayer{display:none;} }在需要隐藏的区域加一个DIV,代码如下:<div class="wapnone">你要css判断隐藏的内容</div> <div class="tool_cai">你要css判断隐藏的内容</div> <div class="tool_code">你要css判断隐藏的内容</div> <div class="tool_zan">你要css判断隐藏的内容</div> <div id="lzxPlayer">你要css判断隐藏的内容</div>(1221px表示如果屏幕尺寸达到了1221像素以下将会隐藏否则显示。具体数值可以自行调试)
2021年09月11日
142 阅读
0 评论
0 点赞
2021-09-11
emlog添加验证码点击刷新
Emlog有用到验证码的源代码有如下文件:Emlog碎语:/t/index.phpEmlog评论:/include/controller/log_controller.phpEmlog管理后台登录:include\lib\loginauth.php将以上文件的验证码位置的img标签添加以下语句即可实现点击刷新验证码功能(调用验证码<?php echo $verifyCode; ?>):增加以下代码: style=\"cursor:pointer;\" alt=\"未显示?请点击刷新\" title=\"看不清楚?请点击刷新\" onclick=\"this.src=this.src+'?'\"原代码: <img src=\"".BLOG_URL."include/lib/checkcode.php\" align=\"absmiddle\" /><input name=\"imgcode\" type=\"text\" class=\"input\" size=\"5\" tabindex=\"5\" />修改后代码: <img src=\"".BLOG_URL."include/lib/checkcode.php\" align=\"absmiddle\" style=\"cursor:pointer;\" alt=\"未显示?请点击刷新\" title=\"看不清楚?请点击刷新\" onclick=\"this.src=this.src+'?'\" /><input name=\"imgcode\" type=\"text\" class=\"input\" size=\"5\" tabindex=\"5\" />
2021年09月11日
119 阅读
0 评论
0 点赞
2021-08-22
Backblaze B2使用Cloudflare隐藏存储桶名称
Cloudflare Workers 允许你在 Cloudflare 全球网络中的边界服务器运行 JavaScript 代码, 使开发者可以部署 serverless(无需服务器) 的应用程序,并且自动缩放. 对于部署的 worker , 以下是我们想要达到的目标:去除Backblaze B2URL 中的 /file/<bucket-name> 部分加上基本的 CORS 请求头,以便允许图片嵌入到网站中为图片优化缓存 (浏览器的缓存, 以及 CDN 边界服务器上的缓存)在 Cloudflare 你的域名处, 创建一个新的 worker 脚本.使用前,注意修改 b2Domain 和 b2Bucket 这两个变量的值.b2Domain,是你域名。b2Bucket,是你的 bucket 存储桶的名字。 'use strict'; const b2Domain = 'img.domain.com'; // configure this as per instructions above const b2Bucket = 'bucket-name'; // configure this as per instructions above const b2UrlPath = `/file/${b2Bucket}/`; addEventListener('fetch', event => { return event.respondWith(fileReq(event)); }); // define the file extensions we wish to add basic access control headers to const corsFileTypes = ['png', 'jpg', 'gif', 'jpeg', 'webp']; // backblaze returns some additional headers that are useful for debugging, but unnecessary in production. We can remove these to save some size const removeHeaders = [ 'x-bz-content-sha1', 'x-bz-file-id', 'x-bz-file-name', 'x-bz-info-src_last_modified_millis', 'X-Bz-Upload-Timestamp', 'Expires' ]; const expiration = 31536000; // override browser cache for images - 1 year // define a function we can re-use to fix headers const fixHeaders = function(url, status, headers){ let newHdrs = new Headers(headers); // add basic cors headers for images if(corsFileTypes.includes(url.pathname.split('.').pop())){ newHdrs.set('Access-Control-Allow-Origin', '*'); } // override browser cache for files when 200 if(status === 200){ newHdrs.set('Cache-Control', "public, max-age=" + expiration); }else{ // only cache other things for 5 minutes newHdrs.set('Cache-Control', 'public, max-age=300'); } // set ETag for efficient caching where possible const ETag = newHdrs.get('x-bz-content-sha1') || newHdrs.get('x-bz-info-src_last_modified_millis') || newHdrs.get('x-bz-file-id'); if(ETag){ newHdrs.set('ETag', ETag); } // remove unnecessary headers removeHeaders.forEach(header => { newHdrs.delete(header); }); return newHdrs; }; async function fileReq(event){ const cache = caches.default; // Cloudflare edge caching const url = new URL(event.request.url); if(url.host === b2Domain && !url.pathname.startsWith(b2UrlPath)){ url.pathname = b2UrlPath + url.pathname; } let response = await cache.match(url); // try to find match for this request in the edge cache if(response){ // use cache found on Cloudflare edge. Set X-Worker-Cache header for helpful debug let newHdrs = fixHeaders(url, response.status, response.headers); newHdrs.set('X-Worker-Cache', "true"); return new Response(response.body, { status: response.status, statusText: response.statusText, headers: newHdrs }); } // no cache, fetch image, apply Cloudflare lossless compression response = await fetch(url, {cf: {polish: "lossless"}}); let newHdrs = fixHeaders(url, response.status, response.headers); if(response.status === 200){ response = new Response(response.body, { status: response.status, statusText: response.statusText, headers: newHdrs }); }else{ response = new Response('File not found!', { status: 404 }) } event.waitUntil(cache.put(url, response.clone())); return response; }进入 workers 功能,点击 Launch Editor ,进入编辑器,将以上代码拷贝到编辑器中,然后保存 worker。使用了这个 worker 后, 你可以从 URL 中去掉 /file/<bucket-name>/ 部分, 使得生成的 URL 是这样的形式 https://subdomain.domain.com/test.txt, 而不是 https://subdomain.domain.com/file/<bucket-name>/test.txt.最后,添加一条 worker 的路由规则,使访问 subdomain.domain.com/*时,请求先由 worker 来处理。
2021年08月22日
287 阅读
0 评论
0 点赞
1
2
3
4
...
13