首页
给我留言
Search
1
精简Win10 ltsb 2016 企业长期服务版 10年的老电脑也能装
702 阅读
2
一个轻量级的文件编辑器Tiny File Manager(个人优化单文件版)
564 阅读
3
一款小巧的sqlite可视化管理工具
316 阅读
4
宝塔面板7.8.0最新跳过更新代码
314 阅读
5
小博客终于备案了
293 阅读
全部
经验
分享
源码
软件
日记
动漫
登录
Search
Moe
累计撰写
12
篇文章
累计收到
56
条评论
首页
栏目
全部
经验
分享
源码
软件
日记
动漫
页面
给我留言
搜索到
5
篇与
源码
的结果
2022-07-01
一个轻量级的文件编辑器Tiny File Manager(个人优化单文件版)
简介最近宝塔面板会记录各种数据,为了不被监控隐私,决定换成LNMP,但是又不习惯没有宝塔面板的文件编辑器 LNMP则需要连接FTP下载到本地再修改 用起来比较麻烦。所以网上找到了这款文件编辑器《Tiny File Manager》用起来也十分方便,只要上传到服务器就能用了 可以在线修改代码。个人优化由于官方源码的Jqurey等cdn源是用jsdelivr、cloudflare、google 的源,所以国内用户访问非常慢,我将所有的CDN源都换成了国内的源,语言包删掉一些中国人用不到的语言,只保留了English、简体中文和繁体中文。保留一个单文件就能运行了。演示图后台默认密码后台默认账号密码: admin admin@123后台密码修改1.打开网站 https://tinyfilemanager.github.io/docs/pwd.html (官方的好像坏掉了,一直生成都是空白)或者去 https://c.runoob.com/compile/1/复制以下代码运行一下<?php echo password_hash('这里改成你的密码', PASSWORD_DEFAULT);得出密码哈希值(admin@123):$2y$10$8.MZKetH8W.sX0umHbLEoOWCIU0Oumo44UGkjQjGt0gwxhTVMqWLG 这段复制出来然后tfm.php找到27行:$auth_users = array( 'admin' => '这里替换你的密码哈希值', //admin@123 'user' => '$2y$10$Fg6Dz8oH9fPoZ2jJan5tZuv6Z4Kp7avtQ9bDfrdRntXtPeiMAZyGO' //12345 );下面用户user也修改一下保存就完事访问:http://你的域名/tfm.php 即可{message type="info" content="为了安全起见建议把tfm.php 改成你想要的名字"/}下载地址 tfm.php隐藏内容,请前往内页查看详情
2022年07月01日
564 阅读
36 评论
3 点赞
2021-09-02
PHP Sqlite3文档
最近用上了Sqlite,感觉挺轻量的 适合保存少量的数据 下面是数据库的操作文档:连接数据库:<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } ?>INSERT:<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Teddy', 23, 'Norway', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 ); EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo "Records created successfully\n"; } $db->close(); ?>SELECT:<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ".$row['SALARY'] ."\n\n"; } echo "Operation done successfully\n"; $db->close(); ?>UPDATE:<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF UPDATE COMPANY set SALARY = 25000.00 where ID=1; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " Record updated successfully\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ".$row['SALARY'] ."\n\n"; } echo "Operation done successfully\n"; $db->close(); ?>DELETE<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF DELETE from COMPANY where ID=2; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " Record deleted successfully\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ".$row['SALARY'] ."\n\n"; } echo "Operation done successfully\n"; $db->close(); ?>
2021年09月02日
189 阅读
1 评论
1 点赞
2021-08-03
此内容被密码保护
加密文章,请前往内页查看详情
2021年08月03日
43 阅读
0 评论
0 点赞
2021-06-23
记一次经常用到的PHP CURL获取页面函数 和 AJAX
CURL:function get_curl($url, $post = 0, $referer = 0, $cookie = 0, $header = 0, $ua = 0, $nobaody = 0) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $klsf[] = "Accept:*"; $klsf[] = "Accept-Encoding:gzip,deflate,sdch"; $klsf[] = "Accept-Language:zh-CN,zh;q=0.8"; curl_setopt($ch, CURLOPT_HTTPHEADER, $klsf); if ($post) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); } if ($header) { curl_setopt($ch, CURLOPT_HEADER, TRUE); } if ($cookie) { curl_setopt($ch, CURLOPT_COOKIE, $cookie); } if ($referer) { if ($referer == 1) { curl_setopt($ch, CURLOPT_REFERER, "http://m.qzone.com/infocenter?g_f="); } else { curl_setopt($ch, CURLOPT_REFERER, $referer); } } if ($ua) { curl_setopt($ch, CURLOPT_USERAGENT, $ua); } else { curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; U; Android 4.0.4; es-mx; HTC_One_X Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0'); } if ($nobaody) { curl_setopt($ch, CURLOPT_NOBODY, 1);//主要头部 //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);//跟随重定向 } curl_setopt($ch, CURLOPT_ENCODING, "gzip"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $ret = curl_exec($ch); curl_close($ch); return $ret; }AJAX:$.ajax({ type: "GET", dataType: "json", url: "api.php?", success: function (result) { //result; } }); }
2021年06月23日
278 阅读
1 评论
1 点赞
2021-06-16
宝塔面板7.8.0最新跳过更新代码
SSH登录ROOT运行:echo "{\"uid\":1000,\"username\":\"admin\",\"serverid\":1}" > /www/server/panel/data/userInfo.json清理浏览器缓存
2021年06月16日
314 阅读
1 评论
1 点赞