个人操作使用记录

新手涉及到的教学或入门贴,推荐新手必看,版主维护
回复
头像
TeliuTe
论坛版主
帖子: 7633
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
送出感谢: 30 次
接收感谢: 108 次
联系:

Re: 个人操作使用记录

#466

帖子 TeliuTe » 2021-08-19 18:00

xampp 启动时不需要ftp,可是貌似没有单独设置的地方,修改启动文件 /opt/lampp/xampp ,把里面的ftp的函数名称对调一下
搜索startProFTPD改成stopProFTPD,同样把stopProFTPD改成startProFTPD,
这样启动时就变成停止ftp了,
要启动ftp,单独运行修改后的命令 sudo /opt/lampp/lampp stopftp

discuzx 插件制作
1.开启设计模式,出现“设计新插件”,在/config/config_global.php 后面添加一句

代码: 全选

$_config['plugindeveloper'] = 1;
2.进入dzx后台,应用,点击“设计新插件”

3.依次输入插件信息,拿不准看一下后面的说明,点最下边的“提交”

4、出来详细信息,输入插件描述,点“提交”,看一下“插件目录”,在 /source/plugin/ 里新建这个名称的文件夹,最后的 / 不要

5.假设是“demo1”文件夹,到这个文件夹下,新建一个同名类库文件 demo1.class.php,输入下面内容,保存成同字符集的文件类型,比如GBK或者UTF-8,

代码: 全选

<?php
if(!defined('IN_DISCUZ')) {//这是discuz论坛文件的安全控制,避免非法引用,也避免重要文件被直接运行。
    exit('Access Denied');
}
class plugin_demo1 {
    function __construct(){
    }
    function global_footer(){// 这个是全局嵌入点
        return '<script>alert("Hello world!")</script>';//弹出提醒消息
    }
}
?>
6.回到后台,插件列表,未启用,找到插件,点“启用”

7.打开站点,就会看到一个弹出消息“Hello world!”

8.语言包文件,存放在 /data/plugindata/demo1.lang.php文件当中,包括三个模块:

代码: 全选

$scriptlang数组中存储脚本文件的语言包,
$templatelang 数组中存储模版文件的语言包,
$installlang 数组中存储安装、升级、卸载脚本用的语言包。
附件
dzx.png
头像
TeliuTe
论坛版主
帖子: 7633
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
送出感谢: 30 次
接收感谢: 108 次
联系:

Re: 个人操作使用记录

#467

帖子 TeliuTe » 2021-08-20 13:42

代码: 全选

头部<!--{subtemplate common/header_common}-->
尾部<!--{subtemplate common/footer_common}-->
放在/template/id.htm 网页模板里,加载页面头部和脚部的部分,使得页面统一,中间部分是自己的代码部分
加载头部和尾部页面文件标签,可以到common目录下找到header_common和footer_common,subtemplate和template效果一样,性能更高;如果删除了这句,可能包含一部分结束或者开始标签,从而导致网页变形。

被普通程序文件引用的程序文件,以 .inc.php 后缀命名。
被普通程序文件,或引用程序文件引用的函数库或类库,以 .func.php(函数库) 或 .class.php(类库) 后缀命名。
模板文件,以 .htm 后缀命名,插件模板文件存在于 source/plugin/identifier/template/ 目录中,手机版插件模板存在于 source/plugin/identifier/template/mobile/目录中
模板语言包文件,以 .lang.php 后缀命名,插件语言包文件开发时存放于 data/plugindata/ 目录中,文件名为identifier.lang.php。

include template('test:test');//这里第一个test代表插件id,第二个test代表模板文件名(不包含扩展名)
在新插件内核中,通过 plugin.php 方式访问的插件可直接通过 plugin.php?id=xxx:yyy 方式调用而无需再在后台定义为普通脚本模块,只要 source/plugin/xxx/yyy.inc.php 文件存在即可。如果 xxx 和 yyy 同名,可直接通过 plugin.php?id=xxx 方式访问。

代码: 全选

if(empty($_G['uid'])) {
                        showmessage('to_login', '', array(), array('showmsg' => true, 'login' => 1));
                }
$_G全局变量,$_G['uid'] => 当前登录UID,$_G['uid'] 表示注册用户的的 id 号,如果用户已经登录,该变量非空,
通过判断 $_G['uid'] 是否为空来判断用户是否已经登录,如果没有登录,则调用 showmessage 提示用户登录或者注册。

模板htm文件中,直接运行一个php代码 <!--{eval echo "hello";}-->,<!--{ }--> 这个是运行命令,eval 转义成命令

代码: 全选

<?php
$string = "beautiful";
$time = "winter";

$str = 'This is a $string $time morning!';
echo $str. "<br />";

eval("\$str = \"$str\";");
echo $str;
?> 
头像
TeliuTe
论坛版主
帖子: 7633
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
送出感谢: 30 次
接收感谢: 108 次
联系:

Re: 个人操作使用记录

#468

帖子 TeliuTe » 2021-08-21 12:27

1、开启插件设计模式,$_config['plugindeveloper'] = 1;
2、设计新插件,dzx后台、应用、新插件
3、名称、标识符、目录都设成demo1,注意看提示
4、语言包先不设
5、模块,页面嵌入-普通版,是demo1.class.php,此处不设
6、模块,主导航-插件菜单,是demo1.inc.php,在文件夹里新建这个inc文件
7、在文件夹里新建template文件夹,里面新建一个demo1.htm,给inc文件调用
8、inc文件主要接收htm发送的数据,写入数据库里

代码: 全选

<?php
//先不检查
if(!empty($_GET['message'])){//防止无限循环提交
	//message里的字符串检查一下,再写入数据表
	DB::query("INSERT INTO ".DB::table('app_demo1')." (message) VALUES ('".daddslashes(dhtmlspecialchars($_GET['message']))."')");
	showmessage('"demo1"', 'plugin.php?id=demo1');//显示成功的提示,并返回插件页面
}
include template('demo1:demo1');//加载外部文件,到template文件夹里找同名的文件
?>
9、template里的demo1.htm里,负责用户输入数据,然后发送给inc文件

代码: 全选

<!--{subtemplate common/header}--><!--用dzx的导航和底部信息-->
Hello World!<!--显示一句,然后换行-->
<br />
<form action="plugin.php?id=demo1" method="post"><!--提交表单-->
	<input name="message" type="text"/><!--提交的信息-->	
	<br />
    <button type="submit" value="true" name="submit1">提交</button><!--提交按钮-->
</form>
<!--{subtemplate common/footer}-->
10、数据表,在dzx的数据库里新建一个数据表pre_app_demo1,中间加个app排序好找,用命令或pma里执行创建命令

代码: 全选

CREATE TABLE IF NOT EXISTS `pre_app_demo1` (
	`message` text NOT NULL
) ENGINE=MyISAM;
头像
TeliuTe
论坛版主
帖子: 7633
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
送出感谢: 30 次
接收感谢: 108 次
联系:

Re: 个人操作使用记录

#469

帖子 TeliuTe » 2021-08-26 17:43

discuzx的语言用的是GBK的,20.04是utf-8老是出错,想着VBox一个xp,装完导入虚拟硬盘vdi,启动xp提示vt-x出错,系统设置里的硬件加速关不掉,搜了一下6.x开始必须要硬件支持,笔记本的BIOS里没有这一项,只好安装5.2的用gdebi安装好,解决依赖,启动还是出错,这次是内核没有,想起来卸载了VBox的kms什么,按提示运行 sudo /sbin/vboxconfig 又提示少一个文件,搜了一圈没有解决办法,

代码: 全选

想要检查 VT 是否在 BIOS 中启用了,使用kvm-ok工具,它被包含在cpu-checker软件包。运行下面的命令,安装这个软件包。
teliute@TeliuTe:~$ sudo apt install cpu-checker

teliute@TeliuTe:~$ sudo /usr/sbin/kvm-ok
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
遂放弃安装wine,装好了又找不着了,菜单里没有,原来是要命令行运行了,找了个npp++试了下,装完菜单也有了
In file included from /tmp/vbox.0/linux/SUPDrv-linux.c:33:
/tmp/vbox.0/r0drv/linux/the-linux-kernel.h:132:11: fatal error: linux/smp_lock.h: 没有那个文件或目录
132 | # include <linux/smp_lock.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
学习内网穿透之前试过路由器上转发的,需要固定ip地址才行,普通的家用应该没有,网上找了一下,发现网云穿的有Linux版本,免费版学习还是可以的,可是忽然提示隧道错误,问了一下客服,原来是暂停服务了,
想起来还有一个 花生壳的,发现里面还有一个二级域名,试了一下可以使用,设置内网ip,http,80端口就可以了
下载客户端,安装完以后,打开终端,运行 sudo phddns start

----------------------------------------
使用gbk编码就是一个坑,全部转换也麻烦,偶尔用的全新安装还要快一些,已经有一个discuzx了,其中的UCenter是独立的,本想着用一个,可是地址找不着,干脆就全新安装,在网站根目录下新建一个文件夹,把upload里的复制进来,按提示权限设好,浏览器运行里面的install,数据库名称设成不同的,很快就安装好了,phpmyadmin用一个就可以了,要是想直接跳转,在第一个里面找index.php,里面放一句: header("Location: ./upload/index.php");
后面的代码注释掉,最后的php标识符留着
头像
TeliuTe
论坛版主
帖子: 7633
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
送出感谢: 30 次
接收感谢: 108 次
联系:

Re: 个人操作使用记录

#470

帖子 TeliuTe » 2021-08-30 11:01

代码: 全选

<head>
<style>
  li{list-style: none;}/*去掉li前面的黑点*/
</style>
</head>
/*或者*/
<li style="list-style:none;">...</li>

代码: 全选

  <!--{loop $array $key $val}-->  <!--loop 数组 下标 值,两个参数就是:数组 值-->
	<li {if $key % 2 == 1}style="background: #ccc;"{/if}>  
		数组第{$key}个值 :{$val}  
	</li>  
  <!--{/loop}-->
 </div>

代码: 全选

<form><!--name相同,就是一组互斥按钮-->
<input type="radio" name="sex" value="male" checked>男
<br>
<input type="radio" name="sex" value="female">女

代码: 全选

mysql 修改数据表名称
ALTER TABLE `pre_app_texam` RENAME `pre_app_teexam`
头像
TeliuTe
论坛版主
帖子: 7633
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
送出感谢: 30 次
接收感谢: 108 次
联系:

Re: 个人操作使用记录

#471

帖子 TeliuTe » 2021-08-31 18:48

培训完了证书下载不了的,文字操作发过一次,可是还有不会的,想着录屏做个微课,搜一下有个Kazam的录屏软件,
安装也不大,操作也很简单,默认不录制声音,刚好也符合,
1.活动 - kazam
2.选择区域,画个框,双击确认
3.点“捕获”
4.录完以后,在右上角系统托盘里,点击图标,完成录制(这里会弹出一个菜单,有快捷键就好了)
Kazam.png
开启discuzx3.4空间:
0.安装包中,复制 /utility/oldprg/uchome/ 里的两个文件到根目录
1.后台 - 全局 - 站点功能,开启日志、相册、记录等等
2.后台 - 界面 - 界面设置 - 以SNS模块风格展示、个性化DIY风格
3.更新缓存
头像
TeliuTe
论坛版主
帖子: 7633
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
送出感谢: 30 次
接收感谢: 108 次
联系:

Re: 个人操作使用记录

#472

帖子 TeliuTe » 2021-10-18 13:19

以下来自ZOL软件百科
EpiMate软件特性
1. 对断电造成的REC损坏可以做到100%的修正.
2. 可以直接在网格中直接读写REC,如果您希望在网格中直接修改某个录入点的值或者删除某个录入点的值,您可以在此网格 中更加直观的纵向和横向对比数据.
3. 如果您的数据已经导出到EXCEL,希望能够将数据重新导入到REC,您可以使用软件的读写REC模块进行操作.
4. 批量合并REC: EpiMate可以一次性合并多个文件夹中的多个REC文件,合并数量不限,合并速度超快.
5. 对比REC: EpiMate允许您对两个REC进行对比,可以将对比的报告导出生成EXCEL报告文件.
6. 多字段排序:EpiMate允许用户对REC指定排序的多个字段进行排序,字段的个数部限制,每个字段可以单独设定排序的规则(ASC,DESC).
7. 显示删除标记:EpiData中数据删除后,数据只是做了一个标记,实际数据还未删除,EpiMate的该功能可以将REC中带有删除标记的数据单独显示出来,便于用户进行操作.

以下来自公卫百科
EpiMate功能
EpiMate是一款免费的Epidata的辅助软件,全面支持中文字符以及英文字符,可实现如下5大功能:
1,Rec修复:修复因断电造成的REC读取损坏,使REC能够再次被EpiData软件正确读取
2,Rec读写:EpiMate将数据以网格的形式显示出来,可直接修改保存,可将Rec导出为Excel数据格式。
3,Rec合并:EpiMate允许用户一次性合并多个REC,速度超快。
4,Rec排序:Epimate允许用户指定任意字段按照任意排序顺序进行排序,无论此REC是否已经建立了索引。 公卫家园
5,Xls导入:EpiMate可导入Excel格式(目前仅支持.xls)的数据,可以实现Rec→Xls→Rec的工作需求。

以下来自博客园
用户打开EPimate的时候,如果出现上面图片的错误信息,请按照如下步骤进行处理:
1. 开始->运行 ->system32
计算机将打开你电脑的system32目录,找到这个flexcell.ocx ,删除
2. 重新运行EPIMATE.exe
头像
TeliuTe
论坛版主
帖子: 7633
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
送出感谢: 30 次
接收感谢: 108 次
联系:

Re: 个人操作使用记录

#473

帖子 TeliuTe » 2021-11-20 13:57

有一个Win10电脑,设置了热带鱼屏保,然后一天到晚的咕嘟咕嘟,开始还觉得挺形象,架不住天天听着,而且24h都开着,丝毫没有停止的意思,
过去检查一下,屏保时间1分钟,屏保自带的设置里面没有结束的时间限制,进到系统电源计划里,休眠有30分钟,再把关闭显示器开启,也设置30分钟,好了,终于安静了
回复