【php】学习笔记_Chap_6_图像处理
图像处理及验证码制作
php中通过GD库(扩展)处理图像,开启GD库扩展
图像处理流程:
创建图像
所有的绘图设计都基于一个图像完成
1imagecreatetruecolor(x,y)
#函数 x,y分别为长和高,单位是像素
绘制图像
填充点线数字文字等
#分配一个颜色
1$color1=imagecolorallocate(resource,red,green,blue);
#填充图像 imagefill($img,x,y,$color1); #x,y是坐标
输出图像
将图像以某种格式保存到服务器中或者直接输出到浏览器显示给用户
用header()告诉浏览器,当前返回内容为图片,不用text方式解析!!
默认下为header(‘Content-type:text/html;charset=utf-8’)
现在修改为header('Content-type:image/jepg')
在header函数前不能输出任何内容 要将header()写在第一行
#转成jpeg格式,调用php将返回图片
1imagejepg(resource[,string filename[, ...
【strongvpn】在linux上安装过程
大体上按官网教程,但由于防火墙太强了!需要用特殊的openvpn,以下内容是向客服咨询后整理的
注意
2021.8.1 ubuntu 20.04 成功上油管
不要在服务器上安装!!!即使成功,会导致不能用ssh连接上服务器,因为ip已经更换了!!!(除非代理ip是专用ip,vpn的ip一般为公用ip,服务器用梯子后无法用ssh连接上)
流程
删除已经安装的openvpn版本sudo apt purge openvpn
下面两个文件下载好后上传到服务器的,命令方式未试过,下载后安装这个版本的openvpn
下载有scramble版本的openvpn https://www.dropbox.com/s/gt2an76red2qdli/openvpn_2.4.8-bionic0_amd64.deb
下载账户的config,每个config对应一个ip,先选择好节点再下载 https://agent.vpnaccount.net/services/intranet/get_openvpn_config/cd1e9c20ed68afe8d62036/ovpn/
将co ...
【php】学习笔记_chap_1_变量
变量
定义变量
命名规则和大部分语言一样,但要在名字前加$,php的变量对值有类型要求,但对变量名无要求。 如:
12$var = 12;$var = '12';
读取变量时也要用$
12echo $varecho "$var"
echo 这里不加""和加一样的,但要引用变量只能用双引号,单引号将所有特殊符号失效
123echo '$var'输出$var
删除变量
和linux一样,unset($var)
1234$var=12;echo $var;unset($var);echo $var;#报错
可变变量
变量定义时无区别
1234567$a='b'$b='c'$c=12#在读取时,将$a的值与另一个$绑定,形成了$becho $a #becho $$a #cecho $$$c $12
变量传值
也分为两种 按值 与 引用
按值传递
将变量的值复制一份给新变量,两个变量的值地址不同
12345$a=12$b=$a$b=666echo $a,$b#12 ...
【php】学习笔记_Chap_4_函数与变量范围
函数与变量作用范围
函数创建
里面用法用c++类似,
123function 函数名 (参数1,2,3。。){return //可以不返回,调用收到null}
调用
1foo();
全局变量
要用global对外部变量进行修饰才能使用
123456<?php$var=12;function foo (){global $var;echo $var;}
常量
常量作用范围是全局的,不用加global不用理变量的规则
1const Name='lthero';
函数中可以直接调用
静态变量
在函数内定义,每次调用函数时,使用同一个地址的值,而值不会随着函数结束面消失
引用参数
123function foo(&$var){#和c++引用一样}
默认参数值
和c++一样,值从右向左加,右边的参数必须先添加
12function foo($var,$var2=20){}
关于参数的函数
可变长度的参数列表 func_get_args(); func_get_ ...
【php】学习笔记Chap_5_数组与Post_Get提交表单
数组与Post_Get提交表单
php中数组,是个复合的数据类型 像python的字典各列表整合,
不用指定数组大小
长度可变
而且内容可不为同一个类型
创建数组
12$arr=array($num,$id,$score);#正式写法$arr=[$num,$id,$score]; #短写法
#5.4版本后可以用短写法
索引可以是整数,可以是字符串!!!使用时甚至不用提前声明!!!
12345$var['name']='lthero';$var[1]=12;#下标可以不连续$var[10]=22;echo $var[1],$var['name'],$var[10];
甚至可以省略索引值,则默认以0开始用数字索引
123456$var[]=11;$var[]=22;$var[]=66;print_r($var);#结果为array 0=>11;1=>22;2=>66
输出
12print_r($var);或 var_dump($var);
数组计数
12345count()函数如$arr=a ...
【杂谈】古人言vs.古人又言
文章内容散乱,如果除我以外有观众不幸看到,那就……
古人言vs.古人又言
古人曾言:君子报仇十年不晚 古人又言:忍一时风平浪静,退一步海阔天空
小时候,老师教我写作经常提及要多运用名言警句,多引用些古人的句式来佐证自己的看法观点。那时候小,我天真地认为古人说的总是正确的,父母对于我能用古语也很骄傲。但逐渐长大后,自己的胡思乱想变得更多了,或许是听到的“古人言“更频繁了,我不经反思到一些不成形的”东西“。
所谓古人言,不过比我们稍早来到世上的一些人所说的话,所发表的观点。随着光标在时间轴上的移动,这些语句逐渐成为了被流传下来的”古人言“。或许就如同当今的”互联网热词“,被人传播的更广被使用的更频繁罢了。
其中不乏真正有价值的”古人言“,有让全人类认同的知识、经验、理论,甚至治国之道等。
但平时我们所引用的”言论“,无非是想用”古人“这一身份,加重自己话语的分量,让对话更能被人信服,或让对方接受某个观点吧。
但其实仔细想想,这些”古人言“被创造(说出口或被记录)时,或许也只是被“凡夫俗子”(指普通人)说的一些”不凡“句子,这些句子在当时某场对话中,让”对方“感觉言论甚有分量,让对方信服 ...
【linux】学习笔记Chap_25_关于File那些事儿
touch命令
功能
创建文件,touch将创建一个普通空文件,并不会进入编辑模式
vim /vi 也可以创建文件,或者用> 将结果写入文件,若文件本身不存在,系统将创建。
大部分时间不需要用touch创建文件,部分情况下用touch可以方便快速创建文件
语法
touch 【-acm】 【-t time】 file file2 file3…
touch 将修改文件的访问时间(access time) 和 修改时间(modification)
如果想将许多文件修改成同一时间,touch * (将文件的访问时间统一)
选项
-t 设定时间,时间格式是[[YY]YY]MMDDhhmm[.ss]
年份可以半省略 21/2021 或全省略
-a 只修改访问时间
1touch -ac -t 202107301330 file
-c (no create )不创建文件,touch 将只修改文件的时间,如果某个文件不存在也不会创建
文件命名规则
最长255个字节
文件名中除了null(空)和/(slash)的其它字符,因为/代表路径切换
不要乱起名
程序不用要te ...
【linux】终端复用命令tmux&&screen
tmux
来源
tmux 是两个单词的缩写,即“Terminal MultipleXer”,意思是“终端复用器”。
功能
tmux 可以让人们通过一个窗口操作多个会话
可以保持远程服务器命令在断开ssh时保存活动
安装
centos
yum install tmux
ubuntu
apt-get install tmux
启动
tmux new -s name
-s 是 session 的缩写,顾名思义,我们启动了一个全新的 tmux 会话(tmux session),并且把这个会话起名叫作 name。
默认为系统的sh,编号为0
创建新窗口
第一步:按 Ctrl+B 组合键,然后松开。
第二步:再单独按一下 c 键。
看到产生一个新窗口bash,编号为1,*表示当前显示活跃状态的窗口
窗口间切换
第一步:按 Ctrl-B 组合键,然后松开。
第二步:按数字 0 键。(按对应的编号)
保持后台活动
第一步:输入组合键 Ctrl+B,然后松开。
第二步:输入字母 d。
随后,当前窗口将退出全部的窗口,但如果窗口在执行命令,即使断开后命令也会保持活动。
...
【linux】学习笔记Chap_20_regular_expression
正则表达式
Lthero hello Lthero lthero He is lthero he have lthero.cn lthero.cn is the best web
.(dot)
功能:
匹配任何字符,除了新的一行,一个dot只代表一个字符
例如 lth开头 中间两个任意字符 o结尾
1grep 'lth..o' file
可以匹配
lthero lthhho lthwwo ltheeo
^
功能:
匹配 一行 以 pattern 开始
1234grep "^lthero" file#结果ltherolthero.cn is the best web
$(dollar)
功能:
匹配 一行 以pattern 结尾
1234grep "lthero$" file#结果ltheroHe is lthero
如果结合 ^ $
12345grep "^lthero$" file#则匹配 pattern独占的行,以lthero开头,以lthero结尾#结果ltherogr ...
【linux】you-get 下载网页视频
下载you-get
支持b站,优酷;youtube翻墙后应当可用,未试过
[icon-url href=“https://github.com/soimort/you-get” target="_blank"]you-get项目地址[/icon-url]
12345678更新aptsudo apt-get update安装 pipsudo apt-get install python3-pip安装 you-getsudo pip3 install you-get升级$ pip3 install --upgrade you-get
使用
语法
you-get -o 保存路径 视频网址
如
1you-get -o ./ https://www.bilibili.com/video/BV1cJ411e7zy
选项
-l 针对b站的列表包括多个视频,可用此选项,会自动下载全部视频
-o 保存路径
-i 只查看视频信息,不下载
--json 获得url的json信息
--format=[清晰度要求] 在查看视频信息后使用
--cookies ...








