首页
留言板
统计
Search
1
阿里云国际OSS使用CloudFlare免流量
2,200 阅读
2
PP.UA免费域名注册
2,103 阅读
3
Adobe Photoshop CS2经典版 中文原版
2,098 阅读
4
7-Zip中文美化版
1,975 阅读
5
获取免费的 Microsoft 365 E5 开发人员订阅
1,881 阅读
软件分享
网络资源
网络代码
生活情感
免费主机
Search
标签搜索
代码
工具软件
Android
教程
Emlog
办公软件
图形图像
免费空间
Web
情感
PHP
视频
上传下载
Windows
系统工具
建站
PDF
网盘
学习
Typecho
ZJ
累计撰写
801
篇文章
累计收到
105
条评论
首页
栏目
软件分享
网络资源
网络代码
生活情感
免费主机
页面
留言板
统计
搜索到
98
篇与
的结果
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日
131 阅读
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日
124 阅读
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日
127 阅读
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日
76 阅读
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日
127 阅读
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日
112 阅读
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日
282 阅读
0 评论
0 点赞
2021-06-27
美化file上传表单选择文件按钮代码
模板制作时写file上传文件表单,默认样式不是很好看,为了美观好看就要自定义代码来美化file上传表单选择文件按钮,为了方便有需要的站长,今天分享美化file上传表单选择文件按钮代码,代码中包含css样式、html代码、javascript代码,只需要复制代码稍作修改放到模板中就可使用。<style> *{margin:0;border:0;padding:0;} .file{margin:100px auto 0;width:300px;border:1px solid #00aff0;height:40px;border-radius:6px;position:relative} .blueButton{position:absolute;display:block;width:100px;height:40px;right:0;background-color:#00b3ee;color:#fff;text-decoration:none;text-align:center;font:normal normal normal 16px/40px 'Microsoft YaHei';cursor:pointer;border-radius:4px} .blueButton:hover{text-decoration:none} .myFileUpload{position:absolute;display:block;width:100px;height:40px;right:0;opacity:0} .show{position:absolute;top:5px;left:5px;width:calc(100% - 100px);height:30px;font:normal normal normal 14px/30px 'Microsoft YaHei'} </style> <div class="file"> <div class="show">请选择需要上传的文件...</div> <a href='javascript:void(0);' class="blueButton">选择文件</a> <input type="file" class="myFileUpload" /> </div> <script src="//cdn.staticfile.org/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { $(".myFileUpload").change(function(){ var arrs=$(this).val().split('\\'); console.log(arrs); var filename=arrs[arrs.length-1]; $(".show").html(filename); }); }); </script>
2021年06月27日
126 阅读
0 评论
0 点赞
1
2
3
4
...
13