首页
关于
注册说明
留言板
Search
1
1Panel安装php swoole 扩展教程,以日主题ritheme为例
39 阅读
2
独角数卡宝塔搭建保姆式教程
34 阅读
3
微信/QQ防红PHP网站跳转浏览器方法源码
16 阅读
4
虚拟机安装Typecho后配置伪静态不知道是Apache还是Nginx、IIS怎么办?
12 阅读
5
网站手机能访问电脑不能访问的解决办法?
11 阅读
PHP学习
WEB前端
编程书籍
网站/服务器
源码测试
登录
/
注册
Search
标签搜索
PHP
WordPress
网站搬家
宝塔面板
Typecho
php基础知识
php基础
服务器
内网穿透
伪静态
数据库
变量
var_dump
print_r
独角数卡
宝塔
1panel
网卡设置
WP主题
网站加密
泡饼
累计撰写
53
篇文章
累计收到
3
条评论
首页
栏目
PHP学习
WEB前端
编程书籍
网站/服务器
源码测试
页面
关于
注册说明
留言板
搜索到
34
篇与
的结果
2025-04-04
让typecho支持webp/avif格式图片的设置
自2025年浏览器全面普及WEBP/AVIF图像格式支持以来,这类高压缩率的新型图片已成为网站提速的利器。凭借其显著优化的文件体积优势,采用这两种格式的站点能有效缩短加载时长,提升用户体验。当前Typecho 1.2.0正式版尚未原生兼容WEBP/AVIF格式上传功能。本文提供零插件解决方案,通过调整三个核心文件的配置参数,即可突破格式限制实现无缝上传。接下来我们需要修改Typecho的三个文件里面的代码来达到让typecho支持WEBP/AVIF两种格式。{dotted startColor="#ff6c6c" endColor="#1989fa"/}1、编辑 var/Widget/Themes/Rows.php 将return preg_match("/screenshot\.(jpg|png|gif|bmp|jpeg)$/i", $path);变更为return preg_match("/screenshot\.(jpg|png|gif|bmp|jpeg|webp|avif)$/i", $path);2、编辑 var/Widget/Base/Contents.php 将$value['attachment']->isImage = in_array($content['type'], ['jpg', 'jpeg', 'gif', 'png', 'tiff', 'bmp']);变更为$value['attachment']->isImage = in_array($content['type'], ['jpg', 'jpeg', 'gif', 'png', 'tiff', 'bmp', 'webp', 'avif']);3、编辑 var/Typecho/Common.php 在'jpg' => 'image/jpeg',后面添加'webp' => 'image/webp', 'avif' => 'image/avif',4、在后台 - 基本设置 - 其他格式里填入 webp,avif 就可以正常上传图片了。注意事项:如果是虚拟机还需要在主机管理里面添加MIME类型设置,格式如下:类型扩展:扩展名.webp MIME类型image{dotted startColor="#ff6c6c" endColor="#1989fa"/}下面顺带分享一个,typecho上传图片自动转为webp的插件:下载地址:{cloud title="typecho上传图片自动转为webp插件" type="ct" url="https://url08.ctfile.com/f/811508-1492127957-28c7c5?p=3100" password="3100"/}官方地址:{sub}https://github.com/molikai-work/Typecho-AutoWebP/{/sub}安装方法1、在 Typecho 的插件目录 /usr/plugins 下新建一个名为 AutoWebP 的文件夹;2、然后下载仓库中的 Plugin.php 文件并添加进 AutoWebP 文件夹中;3、在 AutoWebP 文件夹中创建一个名为 font 的文件夹,然后往文件夹内放入 SourceHanSansSC-Regular.otf(如果要使用水印功能的话),即可。4、然后进入后台插件管理里面启用插件即可。
2025年04月04日
4 阅读
0 评论
0 点赞
2025-03-30
typecho插件实现文章指定部分内容登录可见
一、简介::(呵呵) 分享一个typecho插件,插件功能可以将文章某一部分隐藏起来,登录后即可查看隐藏的内容,完美实现文章部分内容登录可见。下面是插件实现后效果图,非常的实用,插件功能不复杂,可以自己修改显示效果。
2025年03月30日
10 阅读
0 评论
0 点赞
2025-03-18
网站源码文件系统的一些记录
日主题ripro-v2主页文件:菜单文件:ripro-v2/template-parts/global/header-menu.php文章页短代码配置文件:ripro-v2/inc/options/shortcode-options.php独角数卡主题文件路径:resources/views分别三个主题:unicorn、luna、hyper支付配置:独角卡的易支付支付接口通道需要添加submit.php文件,不然无法支付。
2025年03月18日
4 阅读
0 评论
0 点赞
2025-03-05
IIS服务器虚拟主机绑定子目录实现多域名多网站的配置方法
说明买了一个永久虚拟主机,之前已经绑定了一个域名,看配置里面可以绑定五个域名,却没办法绑定子目录,其实也有可以绑定子目录的配置,贵了100米就没买。用phpinfo()和$_SERVER['SERVER_SOFTWARE']查看了一下服务配置,发现是Windows+IIS。<?php phpinfo(); echo $_SERVER['SERVER_SOFTWARE'];之前用其它家的虚拟机的时候,Apache服务器可以自己写配置后绑定子目录,所以也查了下IIS绑定服务器,发现一样可以,配置如下。需求一个虚拟主机绑定了三个域名。web1.tag.gg ---> /web2.tag.gg ---> /web2web3.tag.gg ---> /web3访问web2.tag.gg后显示web2下面内容。访问web3.tag.gg后显示web3下面内容。在网站根目录下的web.config文件中写入如下规则:{message type="warning" content="若已有web.config和规则,请注意添加到合适位置,不然网站无法访问,建议将web.config复制备份一下。"/}<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Web2 Rewrite" stopProcessing="true"> <match url="^(.*)" ></match> <conditions> <add input="{HTTP_HOST}" pattern="^web2\.tag\.gg$" ></add> <add input="{REQUEST_URI}" pattern="^/web2/" negate="true" ></add> </conditions> <action type="Rewrite" url="/web2/{R:1}" ></action> </rule> <rule name="Web3 Rewrite" stopProcessing="true"> <match url="^(.*)" ></match> <conditions> <add input="{HTTP_HOST}" pattern="^web3\.tag\.gg$" ></add> <add input="{REQUEST_URI}" pattern="^/web3/" negate="true" ></add> </conditions> <action type="Rewrite" url="/web3/{R:1}" ></action> </rule> </rules> </rewrite> </system.webServer> </configuration>说明其实最主要就是rule标签里面的配置,域名和子目录配置好了就没问题了。<rule name="Web3 Rewrite" stopProcessing="true"> <match url="^(.*)" ></match> <conditions> <add input="{HTTP_HOST}" pattern="^web3\.tag\.gg$" ></add> <add input="{REQUEST_URI}" pattern="^/web3/" negate="true" ></add> </conditions> <action type="Rewrite" url="/web3/{R:1}" ></action> </rule>第一个add标签配置域名,第二个add配置子目录名称,action标签配置域名的重定向目录。
2025年03月05日
4 阅读
0 评论
0 点赞
2025-03-02
1panel面板搭建php网站提示Access denied.解决办法
前言网站搬个家正常的操作,用的1panel面板,一直提示Access denied.。不管后台还是前台登录都提示Access denied。于是上1panel面板论坛找了答案,大致是以下原因。已完美解决。解决办法1、【网站设置】》【网站目录】里面设置【用户组用户1000】;2、删除网站根目录 .user.ini 文件 和 .htaccess 文件;3、在应用商店-已安装页面 重建 php 应用;
2025年03月02日
2 阅读
0 评论
0 点赞
2025-02-24
进入网站点击安全验证伪PHP代码,无实际意义
简介分享一段PHP伪代码,主要用在网站仿屏蔽的上,主要功能是需要点击后才能进入网站,写一个安全提示,避免网站特征检查,提高部分网站的存活率。使用方法{sub}/******************************************** * 使用方法: * * 1、将本段代码保存为 MkEncrypt.php * * 2、在要加密的页面前面引入这个 php 文件 * require_once('MkEncrypt.php'); * * 3、设置页面访问密码 * MkEncrypt('页面密码'); * ********************************************/{/sub}代码{message type="success" content="提示:代码由deepseek生成,测试后可以用,不保证代码安全性,请谨慎使用!"/}<?php // 设置 Session 过期时间为 10 小时 ini_set('session.gc_maxlifetime', 36000); // 设置 Session Cookie 的过期时间为 10 小时 session_set_cookie_params(36000); // 启动 Session session_start(); // 模拟网站访问量 if (!isset($_SESSION['visit_count'])) { $_SESSION['visit_count'] = 0; } $_SESSION['visit_count']++; // 检查用户是否已经通过验证 if (!isset($_SESSION['verified'])) { $_SESSION['verified'] = false; } // 如果用户点击了验证按钮 if (isset($_POST['verify'])) { $_SESSION['verified'] = true; } // 如果用户未通过验证,显示验证页面 if (!$_SESSION['verified']) { ?> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>验证访问</title> <style> /* 基础样式 */ body { font-family: Arial, sans-serif; background-color: #f4f4f9; margin: 0; padding: 0; display: flex; justify-content: center; align-items: center; min-height: 100vh; } .verification-box { background-color: #ffffff; padding: 20px; border-radius: 10px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); text-align: center; width: 90%; max-width: 400px; } h1 { font-size: 24px; color: #333333; margin-bottom: 20px; } p { font-size: 16px; color: #666666; margin-bottom: 30px; } button { background-color: #007bff; color: #ffffff; border: none; padding: 10px 20px; font-size: 16px; border-radius: 5px; cursor: pointer; width: 100%; max-width: 200px; transition: background-color 0.3s ease; } button:hover { background-color: #0056b3; } /* 响应式设计 */ @media (min-width: 768px) { .verification-box { padding: 30px; } h1 { font-size: 28px; } p { font-size: 18px; } button { font-size: 18px; } } </style> </head> <body> <div class="verification-box"> <h1>安全验证提示</h1> <p>请点击下方按钮验证后进入网站。</p> <form method="POST"> <button type="submit" name="verify">点击验证</button> </form> </div> </body> </html> <?php exit(); // 停止执行后续代码,显示验证页面 } // 如果用户已经通过验证,显示网站内容 ?> 截图示例
2025年02月24日
3 阅读
0 评论
0 点赞
2025-01-07
宝塔面板WordPress搬家和换域名的教程步骤
WordPress宝塔的搬家步骤1、宝塔计划任务里面备份网站数据和数据库,然后下载到本地;2、上传备份好的网站数据和数据库到新的服务器,解压出来;3、打开根目录下 wp-config.php 找到/** WordPress数据库的名称 */ define('DB_NAME', '填写你的数据库名称'); /** MySQL数据库用户名 */ define('DB_USER', '填写你的数据库账号'); /** MySQL数据库密码 */ define('DB_PASSWORD', '填写你的数据库密码');修改好上传服务器覆盖原有的文件。宝塔网站和数据库文件备份的地址如下:目录 /www/backup/ 下的 site 文件夹是网站备份, database 文件夹下是数据库备份,自己选择数据库类型那个文件夹即可。{message type="success" content="如果是1panel搬过来的还要改数据库连接地址,因为1panel的默认数据库地址不是localhost或127.0.0.1,而是容器的地址。"/}{dotted startColor="#ff6c6c" endColor="#1989fa"/}wordpress搬家换域名登陆phpMyAdmin后台,点sql把下面的代码复制进去,把旧域名改成你本地的域名,新域名改成你正式的域名,然后执行即可。UPDATE wp_posts SET post_content = replace( post_content, '旧域名','新域名') ; UPDATE wp_comments SET comment_content = replace(comment_content, '旧域名', '新域名') ; UPDATE wp_comments SET comment_author_url = replace(comment_author_url, '旧域名', '新域名') ; UPDATE wp_options SET option_value = replace( option_value , '旧域名','新域名') ;{message type="success" content="注意如果您的数据库表前缀修改过的记得修改上面的表前缀哦。"/}有些WordPress主题可能需要安装某些PHP扩展的就先安装扩展就行了!
2025年01月07日
3 阅读
0 评论
0 点赞
2024-12-05
PHP网页加密密码访问页面的代码共4套模板
简介之前也分享过PHP密码访问网页的方法,而且用起来也还不错,安全性没有本次分享的高,本次分享的是4套模板。4套非常实用的 PHP 单页加密解决方案,不仅提供四种独特的模板风格,而且还附带了一套密码访问机制的源代码。使用非常简单,只需要将相关文件上传到你的 Web 服务器上,然后在浏览器中访问 index.php 文件即可。也可以当做插件将代码嵌入到你的PHP开发项目中,不过需要一点PHP开发基础哦!此外,这个加密方案还提供了其他一些实用的功能,比如防止页面被复制或截图等。你可以在 MkEncrypt.php 文件中查看并使用这些功能。加密页面预览图源码下载地址{sub}https://sgdhuo.lanzouq.com/ii3032hal66d{/sub}
2024年12月05日
3 阅读
0 评论
0 点赞
2024-12-05
为PHP网页添加访问密码的代码
简介为php网页设计密码,需要输入密码后才能访问网页,仅支持php网站。经测试如果不是原生php写的网站会有bug,类似thinkphp、laravel等框架写的网站用不了,暂时没找到解决办法。无法使用的记录1、thinkphp框架的网站2、laravel框架的网站3、萌次元商城(商城采用了插件的形式)使用方法如下:{sub}/******************************************** * 使用方法: * * 1、将本段代码保存为 MkEncrypt.php * * 2、在要加密的页面前面引入这个 php 文件 * require_once('MkEncrypt.php'); * * 3、设置页面访问密码 * MkEncrypt('页面密码'); * ********************************************/{/sub}<?php // 密码 Cookie 加密盐 if(!defined('MK_ENCRYPT_SALT')) define('MK_ENCRYPT_SALT', 'Kgs$JC!V'); /** * 设置访问密码 * * @param $password 访问密码 * @param $pageid 页面唯一 ID 值,用于区分同一网站的不同加密页面 */ function MkEncrypt($password, $pageid = 'default') { $pageid = md5($pageid); $md5pw = md5(md5($password).MK_ENCRYPT_SALT); $postpwd = isset($_POST['pagepwd']) ? addslashes(trim($_POST['pagepwd'])) : ''; $cookiepwd = isset($_COOKIE['mk_encrypt_'.$pageid]) ? addslashes(trim($_COOKIE['mk_encrypt_'.$pageid])) : ''; if($cookiepwd == $md5pw) return; // Cookie密码验证正确 if($postpwd == $password) { // 提交的密码正确 setcookie('mk_encrypt_' . $pageid, $md5pw, time() + 3600000, '/'); return; } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="renderer" content="webkit"> <meta name="author" content="mengkun"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>该页面已被加密</title> <style type="text/css"> *{font-family:"Microsoft Yahei",微软雅黑,"Helvetica Neue",Helvetica,"Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif;box-sizing:border-box;margin:0px;padding:0px;font-size:14px;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;-o-transition:.2s;transition:.2s} html,body{width:100%;height:100%} body{background-color:#F4F6F9;color:#768093} input,button{font-size:1em;border-radius:3px;-webkit-appearance:none} input{width:100%;padding:5px;box-sizing:border-box;border:1px solid #e5e9ef;background-color:#f4f5f7;resize:vertical} input:focus{background-color:#fff;outline:none} button{border:0;background:#6abd09;color:#fff;cursor:pointer;opacity:1;user-select:none} button:hover,button:focus{opacity:.9} button:active{opacity:1} .main{width:100%;max-width:500px;height:300px;padding:30px;background-color:#fff;border-radius:2px;box-shadow:0 10px 60px 0 rgba(29,29,31,0.09);transition:all .12s ease-out;position:absolute;left:0;top:0;bottom:0;right:0;margin:auto;text-align:center} .alert{width:80px} .mk-side-form{margin-bottom:28px} .mk-side-form input{float:left;padding:2px 10px;width:77%;height:37px;border:1px solid #ebebeb;border-right-color:transparent;border-radius:2px 0 0 2px;line-height:37px} .mk-side-form button{position:relative;overflow:visible;width:23%;height:37px;border-radius:0 2px 2px 0;text-transform:uppercase} .pw-tip{font-weight:normal;font-size:26px;text-align:center;margin:25px auto} #pw-error {color: red;margin-top: 15px;margin-bottom: -20px;} .return-home{text-decoration:none;color:#b1b1b1;font-size:16px} .return-home:hover{color:#1E9FFF;letter-spacing:5px} </style> </head> <body> <div class="main"> <svg class="alert" viewBox="0 0 1084 1024" xmlns="http://www.w3.org/2000/svg" width="80" height="80"> <defs><style/></defs> <path d="M1060.744 895.036L590.547 80.656a55.959 55.959 0 0 0-96.919 0L22.588 896.662a55.959 55.959 0 0 0 48.43 83.907h942.14a55.959 55.959 0 0 0 47.525-85.534zm-470.619-85.172a48.008 48.008 0 1 1-96.015 0v-1.567a48.008 48.008 0 1 1 96.015 0v1.567zm0-175.345a48.008 48.008 0 1 1-96.015 0V379.362a48.008 48.008 0 1 1 96.015 0v255.157z" fill="#FF9800"/> </svg> <form action="" method="post" class="mk-side-form"> <h2 class="pw-tip">该页面已被加密</h2> <input type="password" name="pagepwd" placeholder="请输入访问密码查看" required><button type="submit">提交</button> <?php if($postpwd): ?> <p id="pw-error">Oops!密码不对哦~</p> <script>setTimeout(function() {document.getElementById("pw-error").style.display = "none"}, 2000);</script> <?php endif; ?> </form> <a href="/" class="return-home" title="点击回到网站首页">- 返回首页 - </a> </div> </body> </html> <?php exit(); }加密后预览效果
2024年12月05日
5 阅读
0 评论
0 点赞
2024-10-08
"Audition"已检测到当前音频硬件设置存在一个问题,Audition录制音频没有麦克风的记录
问题:"Audition"已检测到当前音频硬件设置存在一个问题,录制音频的时候提示下面图片的信息,然后就无法录制音频。解决办法没有打开麦克风权限。按下面的路径进去设置一下麦克风即可。1、【允许访问此设备上的麦克风】下面的【此设备的麦克风访问权限已打开】设置为已打开状态。2、【允许应用访问你的麦克风】设置为打开状态。提示:也可以从右下角图标栏直接点击麦克风图标进入上图的设置。
2024年10月08日
10 阅读
0 评论
0 点赞
1
2
...
4