个人博客 用于记载日常收集的一些技术文章 ...
PHP : PHP 禁用 文本内容的 代码 PHP : PHP 禁用 文本内容的 代码 <content_1>
<?php echo str_replace(array("\r\n", "\r", "\n"),'<br>', str_replace("<","& lt;",$row['content'] ) ); ?>
</content_1>

在输出时:
把【换行符】替换成【<br>】
把【<】替换成【& lt;】用了这个,代码不就起作用了
郭少锋 编辑 2023-02-17 13:06:28 创建 2023-02-17 13:02:44 PHP
PHP : PHP 配置 session PHP : PHP 配置 session php.ini

session.auto_start = 0【要使用$_SESSION['xx'] 就必须先使用 session_start();】
session.auto_start = 1【省去 session_start();】
-----------------------------------------------------------------------------
<?php
session_start(); // 【开启】$_SESSION
if(isset($_SESSION['userId'])) {
$userId = $_SESSION['userId'];
$name = $_SESSION['name'].' ';
$userWhere = $_SESSION['userWhere'];
}else{
echo "<script>window.location.href='../user/login.php';</script>"; // 用户未登录,转到【登录页面】
return;
}
郭少锋 编辑 2023-02-17 01:59:35 创建 2023-02-16 14:44:39 PHP
PHP : SQL 条件判断 IF ELSE PHP : SQL 条件判断 IF ELSE -- 条件判断:【不为空 提示错误】【否则 删除数据】

DECLARE @Caption VARCHAR(255)
DECLARE @Err VARCHAR(255)

SELECT @Caption = 'ds'

IF NOT @Caption IS NULL
BEGIN
SELECT @Err = @Caption + ' 已经被 凭证模板作为金额来源,不能删除或将字段类型改为非金额类型!'
RAISERROR(@Err, 18, 18)

RETURN --【中止】【后面的语句 SELECT TOP 3 * FROM ICVoucherTField 】
END

ELSE
BEGIN
Delete FROM ICVoucherTField WHERE FBillType=2010 AND FUserDefineField='F_SalePrice'
END

SELECT TOP 3 * FROM ICVoucherTField

/* 结果:

消息 50000,级别 18,状态 18,第 12 行
ds 已经被 凭证模板作为金额来源,不能删除或将字段类型改为非金额类型!
*/
郭少锋 编辑 2023-02-09 22:54:09 创建 2023-02-09 22:51:26 PHP
PHP : SQL 最大值 + 1 PHP : SQL 最大值 + 1 SELECT ISNULL( MAX(FInterID),0 ) + 1 FROM ICVoucherTField -- 如果没有记录,= 0 + 1 郭少锋 编辑 2023-02-09 22:37:05 创建 2023-02-09 22:36:45 PHP PHP : SQL 判断是否 存在记录 PHP : SQL 判断是否 存在记录 -- 如果 记录不存在,则 添加记录

IF Not Exists(Select * From t_FieldDescription Where FFieldName ='F_SaleAmount')
Begin
INSERT INTO t_FieldDescription( FTableID,FFieldName ) Select FTableID,'F_SaleAmount' From t_TableDescription Where FTableName ='ICStockBillEntry'
End
郭少锋 创建 2023-02-09 22:34:13 PHP
PHP : SQL:RAND() 随机小数 PHP : SQL:RAND() 随机小数 SELECT RAND()
结果:
0.768961494792908
0.608489076428358


SELECT CONVERT( varchar(3), ROUND( RAND()*1000,0 ) ) -- 取前3位数,转为文本
结果:
57
768
146

SELECT FColName ,FColName +'-'+ CONVERT(varchar(3),ROUND(RAND()*1000,0)) FNewName
FROM ICSelBills
WHERE FID = 'B01' AND FFieldName = 'FOrderInterID' AND FDstCtlField= 'FEntrySelfB0167'

结果:
FColName FNewName
FEntrySelfS01720 FEntrySelfS01720-90
FEntrySelfS01721 FEntrySelfS01721-90
FEntrySelfS01722 FEntrySelfS01722-90
郭少锋 编辑 2023-01-27 14:53:16 创建 2023-01-27 14:50:12 PHP
PHP : After Effects 快捷键 PHP : After Effects 快捷键 ---------------------------------------------------
【 项目窗口 】

新项目 【 Ctrl + Alt + N 】
打开项目 【 Ctrl + O 】
打开项目时只打开项目窗口 【 按住Shift键 】
打开上次打开的项目 【 Ctrl + Alt + Shift + P 】
保存项目 【 Ctrl + S 】

选择上一子项 【 上箭头 】
选择下一子项 【 下箭头 】

打开选择的素材项或合成图像 【 双击 】
在AE素材窗口中打开影片 【 Alt + 双击 】

激活最近激活的合成图像 【 \ 】
增加选择的子项到最近激活的合成图像中 【 Ctrl + / 】

显示所选的合成图像的设置 【 Ctrl + K 】
增加所选的合成图像的渲染队列窗口 【 Ctrl + Shift + / 】

引入一个素材文件 【 Ctrl + i 】
引入多个素材文件 【 Ctrl + Alt + i 】

替换选择层的源素材或合成图像 【 Alt + 从项目窗口拖动素材项到合成图像 】
替换素材文件 【 Ctrl + H 】
设置解释素材选项 【 Ctrl + F 】
扫描发生变化的素材 【 Ctrl + Alt + Shift + L 】
重新调入素材 【 Ctrl + Alt + L 】
新建文件夹Ctrl + Alt + Shift + N 】
记录素材解释方法 【 Ctrl + Alt + C 】
应用素材解释方法 【 Ctrl + Alt + V 】
设置代理文件 【 Ctrl + Alt + P 】
退出 【 Ctrl + Q 】


---------------------------------------------------
【 合成图像、层和素材窗口 】

在打开的窗口中循环 【 Ctrl + Tab 】
显示/隐藏标题安全区域和动作安全区域 【 ' 】
显示/隐藏网格 【 Ctrl + ' 】
显示/隐藏对称网格 【 Alt + ' 】
居中激活的窗口 【 Ctrl + Alt + \ 】
动态修改窗口 【 Alt + 拖动属性控制 】
暂停修改窗口 【 大写键 】
在当前窗口的标签间循环 【 Shift + ,或Shift + 】
在当前窗口的标签间循环并自动调整大小 【 Alt + Shift + ,或Alt + Shift + . 】
快照(多至4个) 【 Ctrl + F5,F6,F7,F8 】
显示快照 【 F5,F6,F7,F8 】
清除快照 【 Ctrl + Alt + F5,F6,F7,F8 】
显示通道(RGBA) 【 Alt + 1,2,3,4 】
带颜色显示通道(RGBA) 【 Alt + Shift + 1,2,3,4 】
带颜色显示通道(RGBA) 【 Shift + 单击通道图标 】
带颜色显示遮罩通道 【 Shift + 单击ALPHA通道图标 】
显示窗口和面板 】

项目窗口 【 Ctrl + 0 】
项目流程视图 【 F11 】
渲染队列窗口 【 Ctrl + Alt + 0 】
工具箱 【 Ctrl + 1 】
信息面板 【 Ctrl + 2 】
时间控制面板 【 Ctrl + 3 】
音频面板 【 Ctrl + 4 】
显示/隐藏所有面板 【 Tab 】
General偏好设置 【 Ctrl + 】
新合成图像 【 Ctrl + N 】
关闭激活的标签/窗口 【 Ctrl + W 】
关闭激活窗口(所有标签) 【 Ctrl + Shift + W 】
关闭激活窗口(除项目窗口) 【 Ctrl + Alt + W 】


---------------------------------------------------
【 时间布局窗口中的移动 】

到工作区开始 【 Home 】
到工作区结束 【 Shift + End 】
到前一可见关键帧 【 J 】
到后一可见关键帧 【 K 】
到前一可见层时间标记或关键帧 【 Alt + J 】
到后一可见层时间标记或关键帧 【 Alt + K 】
到合成图像时间标记 【 主键盘上的0 - 9 】
滚动选择的层到时间布局窗口的顶部 【 X 】
滚动当前时间标记到窗口中心 【 D 】
到指定时间 【 Ctrl + G 】


---------------------------------------------------
【 合成图像、时间布局、素材和层窗口中的移动 】

到开始处 【 Home或Ctrl + Alt + 左箭头 】
到结束处 【 End或Ctrl + Alt + 右箭头 】
向前一帧 【 PageDown或左箭头 】
向前十帧 【 Shift + PageDown或Ctrl + Shift + 左箭头 】
向后一帧 【 PageUp或右箭头 】
向后十帧 【 Shift + PageUp或Ctrl + Shift + 右箭头 】
到层的入点 【 i 】
到层的出点 【 o 】
逼近子项到关键帧、时间标记、入点和出点 【 Shift + 拖动子项 】


---------------------------------------------------
【 预览窗口 】

开始/停止播放 【 空格 】
从当前时间点预视音频 【 .(数字键盘) 】
RAM预视 【 0(数字键盘) 】
快速音频 【 Ctrl + 拖动当前时间标记 】
每隔一帧的RAM预视 【 Shift + 0(数字键盘) 】
保存RAM预视 【 Ctrl + 0(数字键盘) 】
快速视频Alt + 拖动当前时间标记 】
线框预视 【 Alt + 0(数字键盘) 】
线框预视时用矩形替代alpha轮廓 【 Ctrl + Alt + 0(数字键盘) 】
线框预视时保留窗口内容 【 Shift + Alt + 0(数字键盘) 】
矩形预视时保留窗口内容 【 Ctrl + Shift + Alt + 0(数字键盘) 】

如未选择层,命令针对所有层

---------------------------------------------------
【 合成图像、层和素材窗口中的编辑 】

拷贝 【 Ctrl + C 】
复制Ctrl + D 】
剪切 【 Ctrl + X 】
粘贴Ctrl + V 】
撤消Ctrl + Z 】
重做 【 Ctrl + Shift + Z 】
选择全部 【 Ctrl + A 】
取消全部选择 【 Ctrl + Shift + A或F2 】
图层、合成图像、文件夹、效果更名 【 Enter(数字键盘) 】
原应用程序中编辑子项(仅限素材窗口) 【 Ctrl + E 】

---------------------------------------------------
【 合成图像和时间布局窗口中的层操作 】

放在最前面 【 Ctrl + Shift + ] 】
向前提一级 【 Ctrl + ] 】
向后放一级 【 Ctrl + [ 】
放在最后面 【 Ctrl + Shift + [ 】
选择下一层 【 Ctrl + 下箭头 】
选择上一层 【 Ctrl + 上箭头 】
通过层号选择层 【 1--9(数字键盘) 】
取消所有层选择 【 Ctrl + Shift + A 】
锁定所选层 【 Ctrl + L 】
释放所有层的选定 【 Ctrl + Shift + L 】
分裂所选层 【 Ctrl + Shift + D 】
激活合成图像窗口 【 \ 】
在层窗口中显示选择的层 【 Enter(数字键盘) 】
显示隐藏视频 【 Ctrl + Shift + Alt + V 】
隐藏其它视频 【 Ctrl + Shift + V 】
显示选择层的效果控制窗口 【 Ctrl + Shift + T或F3 】
在合成图像窗口和时间布局窗口中转换 【 \ 】
打开源层 【 Alt + + 双击层 】
在合成图像窗口中不拖动句柄缩放层 【 Ctrl + 拖动层 】
在合成图像窗口中逼近层到框架边和中心 【 Alt + Shift + 拖动层 】
逼近网格转换 【 Ctrl + Shit + '' 】
逼近参考线转换 【 Ctrl + Shift + ; 】
拉伸层适合合成图像窗口 【 Ctrl + Alt + F 】
层的反向播放 【 Ctrl + Alt + R 】

---------------------------------------------------
【 入点设置 】

剪辑层的入点 【 Alt + [ 】
剪辑层的出点 【 Alt + ] 】
所选层的时间重映象转换开关 【 Ctrl + Alt + T 】
设置质量为最好 【 Ctrl + U 】
设置质量为草稿 【 Ctrl + Shift + U 】
设置质量为线框 【 Ctrl + + Shift + U 】
创建新的固态层Ctrl + Y 】
显示固态层设置 【 Ctrl + Shift + Y 】
重组层 【 Ctrl + Shift + C 】
通过时间延伸设置入点 【 Ctrl + Shift + , 】
通过时间延伸设置出点 【 Ctrl + Alt + , 】
约束旋转的增量为45度 【 Shift + 拖动旋转工具 】
约束沿X轴或Y 【 轴移动 【 Shift + 拖动层 】
复位旋转角度为0度 【 双击旋转工具 】
复位缩放率为100% 【 双击缩放工具 】

---------------------------------------------------
【 合成图像、层和素材窗口中的空间缩放 】

放大 【 . 】
缩小 【 , 】
缩放至100% 【 主键盘上的/或双击缩放工具 】
放大并变化窗口 【 Alt + .或Ctrl + 主键盘上的= 】
缩小并变化窗口 【 Alt + ,或Ctrl + 主键盘上的- 】
缩放至100%并变化窗口 【 Alt + 主键盘上的/ 】
缩放窗口 【 Ctrl + \ 】
缩放窗口适应于监视器 【 Ctrl + Shift + \ 】
窗口居中 【 Shift + Alt + \ 】
缩放窗口适应于窗口 【 Ctrl + Alt + \ 】
图像放大,窗口不变 【 Ctrl + Alt +  【 = 】
图像缩小,窗口不变 【 Ctrl + Alt +  【 - 】
时间布局窗口中的时间缩放 】

缩放到帧视图 【 ; 】
放大时间 【 主键盘上的= 】
缩小时间 【 主键盘上的- 】

---------------------------------------------------
【 时间布局窗口中查看层属性 】

定位点 【 A 】
音频级别 【 L 】
音频波形 【 LL 】
效果 【 E 】
遮罩羽化 【 F 】
遮罩形状 【 M 】
遮罩不透明度 【 TT 】
不透明度 【 T 】
位置 【 P 】
旋转 【 R 】
时间重映象 【 RR 】
缩放 【 S 】
显示所有动画值 【 U 】
在对话框中设置层属性值(与P,S,R,F,M一起) 【 Ctrl + Shift + 属性快捷键 】
隐藏属性 【 Alt + Shift + 单击属性名 】
弹出属性滑杆 【 Alt +  【 单击属性名 】
增加/删除属性 【 Shift + 单击属性名 】
switches/modes转换 【 F4 】
为所有选择的层改变设置 【 Alt +  【 单击层开关 】
打开不透明对话框 【 Ctrl + Shift + O 】
打开定位点对话框 【 Ctrl + Shift + Alt + A 】


---------------------------------------------------
【 时间布局窗口中工作区的设置 】

设置当前时间标记为工作区开始 【 B 】
设置当前时间标记为工作区结束 【 N 】
设置工作区为选择的层 【 Ctrl + Alt + B 】
未选择层时,设置工作区为合成图像长度 【 Ctrl + Alt + B 】
时间布局窗口中修改关键帧 】

设置关键帧速度 【 Ctrl + Shift + K 】
设置关键帧插值法 【 Ctrl + Alt + K 】
增加或删除关键帧(计时器开启时)或开启时间变化计时器 【 Alt + Shift + 属性快捷键 】
选择一个属性的所有关键帧单击属性名 】
增加一个效果的所有关键帧到当前关键帧选择 【 Ctrl + 单击效果名 】
逼近关键帧到指定时间 【 Shift + 拖动关键帧 】
向前移动关键帧一帧 【 Alt + 右箭头 】
向后移动关键帧一帧 【 Alt + 左箭头 】
向前移动关键帧十帧 【 Shift + Alt + 右箭头 】
向后移动关键帧十帧 【 Shift + Alt + 左箭头 】
在选择的层中选择所有可见的关键帧Ctrl + Alt + A 】
到前一可见关键帧 【 J 】
到后一可见关键帧 【 K 】
在线性插值法和自动Bezer插值法间转换 【 Ctrl + 单击关键帧 】
改变自动Bezer插值法为连续Bezer插值法 【 拖动关键帧句柄 】
Hold关键帧转换 【 Ctrl + Alt + H或Ctrl + Alt + 单击关键帧句柄 】
连续Bezer插值法与Bezer插值法间转换 【 Ctrl + 拖动关键帧句柄 】
Easy 【 easy 【 F9 】
Easy 【 easy入点 【 Alt + F9 】
Easy 【 easy出点 【 Ctrl + Alt + F9 】


---------------------------------------------------
【 合成图像和时间布局窗口中层的精确操作 】

以指定方向移动层一个像素箭头

旋转层1度 【 + (数字键盘) 】
旋转层-1度 【 -(数字键盘) 】
放大层1% 【 Ctrl +  【 + (数字键盘) 】
缩小层1% 【 Ctrl +  【 -(数字键盘) 】
移动、旋转和缩放变化量为10 【 Shift + 快捷键 】

层的精调是按当前缩放率下的像素计算,而不是实际像素。


---------------------------------------------------
【 合成图像窗口中合成图像的操作 】

显示/隐藏参考线 【 Ctrl +  【 ; 】
锁定/释放参考线锁定 【 Ctrl + Alt + Shift + ; 】
显示/隐藏标尺 【 Ctrl +  【 R 】
改变背景颜色 【 Ctrl + Shift + B 】
设置合成图像解析度为full 【 Ctrl +  【 J 】
设置合成图像解析度为Half 【 Ctrl +  【 Shift + J 】
设置合成图像解析度为Quarter 【 Ctrl +  【 Alt + Shift + J 】
设置合成图像解析度为Custom 【 Ctrl +  【 Alt + J 】
合成图像流程图视图 【 Alt + F11 】


---------------------------------------------------
【 层窗口中遮罩的操作 】

椭圆遮罩置为整个窗口 【 双击椭圆工具 】
矩形遮罩置为整个窗口 【 双击矩形工具 】
在自由变换模式下围绕中心点缩放 【 Ctrl +  【 拖动 】
选择遮罩上的所有点 【 Alt + 单击遮罩 】
自由变换遮罩 【 双击遮罩 】
推出自由变换遮罩模式 【 Enter 】


---------------------------------------------------
【 合成图像和实际布局窗口中的遮罩操作 】

定义遮罩形状 【 Ctrl +  【 Shift + M 】
定义遮罩羽化 【 Ctrl +  【 Shift + F 】
设置遮罩反向 【 Ctrl +  【 Shift + I 】
新遮罩 【 Ctrl +  【 Shift + N 】
效果控制窗口中的操作 】

选择上一个效果 【 上箭头 】
选择下一个效果 【 下箭头 】
扩展/卷收效果控制 【 ` 】
清除层上的所有效果 【 Ctrl +  【 Shift + E 】
增加效果控制的关键帧Alt + 单击效果属性名 】
激活包含层的合成图像窗口 【 \ 】
应用上一个喜爱的效果 【 Ctrl + Alt + Shift + F 】
应用上一个效果 【 Ctrl + Alt + Shift + E 】
合成图像和实际布局窗口中使用遮罩 】

设置层时间标记 【 *(数字键盘) 】
清楚层时间标记 【 Ctrl + 单击标记 】
到前一个可见层时间标记或关键帧 【 Alt + J 】
到下一个可见层时间标记或关键帧 【 Alt + K 】
到合成图像时间标记 【 0---9(数字键盘) 】
在当前时间设置并编号一个合成图像时间标记 【 Shift + 0---9(数字键盘) 】


---------------------------------------------------
【 渲染队列窗口 】

制作影片 【 Ctrl +  【 M 】
激活最近激活的合成图像 【 \ 】
增加激活的合成图像到渲染队列窗口 【 Ctrl +  【 Shift + / 】
在队列中不带输出名复制子项 【 Ctrl +  【 D 】
保存帧 【 Ctrl + Alt + S 】
打开渲染对列窗口 【 Ctrl + Alt + O 】


---------------------------------------------------
【 工具箱操作 】

选择工具V 】
旋转工具 【 W 】
矩形工具 【 C 】
椭圆工具 【 Q 】
笔工具 【 G 】
后移动工具 【 Y 】
手工具 【 H 】
缩放工具(使用Alt缩小) 【 Z 】

从选择工具转换为笔工具 【 按住Ctrl 】
从笔工具转换为选择工具 【 按住Ctrl 】
在信息面板显示文件名 【 Ctrl + Alt + E 】
郭少锋 创建 2022-12-05 11:04:10 PHP
PHP : php 查询字符串出现位置 PHP : php 查询字符串出现位置 没有找到字符串则返回 FALSE。字符串位置从 0 开始,不是从 1 开始。

不区分大小写
stripos(字符串,查询值) 查找字符串 在另一字符串中 第一次出现的位置
strripos(字符串,查询值) 查找字符串 在另一字符串中 最后一次出现的位置

区分大小写
strpos(字符串,查询值) 查找字符串 在另一字符串中 第一次出现的位置
strrpos(字符串,查询值) 查找字符串 在另一字符串中 最后一次出现的位置

参考:https://www.php.cn/php-ask-494481.html
郭少锋 编辑 2022-11-21 17:03:19 创建 2022-11-21 17:03:09 PHP
PHP : PHP 自动转到新的网页 PHP : PHP 自动转到新的网页 < ?php
header("location: 1star"); //把浏览器重定向到 1star/index.php
?>

郭少锋 编辑 2022-11-17 22:20:47 创建 2022-11-17 22:20:30 PHP
PHP : PHP 不支持 mysql_connect() PHP : PHP 不支持 mysql_connect() mysql_connect() 自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。
参见 MySQL:选择 API 指南以及相关 FAQ 以获取更多信息。

用以替代本函数的有:
mysqli_connect()
PDO::__construct()

使用时,不要在使用mysql_connect了,可以换用mysqli_connect(),用法基本类似吧,据说是面向对象的库。
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll这个拓展了。

原文链接:https://blog.csdn.net/weixin_36416921/article/details/113209155
郭少锋 编辑 2022-11-11 14:42:15 创建 2022-11-11 14:41:06 PHP