首页
工具
心境语句
相册
建站轨迹
关于
Search
1
微信小程序:计算属性的两种体现方式及应用场景
1,594 阅读
2
Antd Upload 组件上传文件接收数据流并下载
1,059 阅读
3
C#插件火车头采集器动态切换代理IP,及自动切换UserAgent
542 阅读
4
[C#]使用dnSpy对目标程序(EXE或DLL)进行反编译修改并编译运行
537 阅读
5
ADODB.Connection 错误 800a0e7a 未找到提供程序。该程序可能未正确安装解决方法
499 阅读
react
typecho
ASP
Centos
MYSQL
PHP
Sql server
Javascript
nodejs
数据采集
.NET
git
编程算法
管理及流程
Vue
微信小程序
android
python
mongodb
登录
Search
标签搜索
kotlin
node-sass
nuxtjs
C#火车头插件
火车头采集器
火车头代理
C#反编译
程序逆向
dnSpy教程
Antd
InputNumber
NPM教程
NPM命令
rrweb教程
git慢
git镜像
vim命令
git命令
网页音乐插件
网页播放器
Elysian
累计撰写
74
篇文章
累计收到
0
条评论
首页
栏目
react
typecho
ASP
Centos
MYSQL
PHP
Sql server
Javascript
nodejs
数据采集
.NET
git
编程算法
管理及流程
Vue
微信小程序
android
python
mongodb
页面
工具
心境语句
相册
建站轨迹
关于
搜索到
12
篇与
PHP
的结果
2022-04-21
PHP Xdebug安装对应版本与配置
Xdebug安装地址https://xdebug.org/download.php,进入下载页面后点击custom installation instructions,可以找到适合的Xdebug版本。需要的版本知道怎么选择可以查看,phpinfo下的PHP Extension Buildphp.ini配置[XDebug] ;调试功能模块儿 zend_extension = "下载文件路径" xdebug.remote_handler=dbgp xdebug.idekey=PHPSTORM ;开启远程调试 xdebug.remote_enable = On ;远程主机 xdebug.remote_host=localhost ;主机端口 xdebug.remote_port=9001 ;开启自动跟踪 xdebug.auto_trace = On ;开启异常跟踪 xdebug.show_exception_trace = On ;开启远程调试自动启动 xdebug.remote_autostart = On ;收集变量 xdebug.collect_vars = On ;收集返回值 xdebug.collect_return = On ;收集参数 xdebug.collect_params = On ;临时跟踪信息输出 ;xdebug.trace_output_dir="d:/PHP/php-5.3.28/temp" ;显示局部变量 xdebug.show_local_vars = On xdebug.profiler_enable = On ;xdebug.profiler_output_dir ="d:/PHP/php-5.3.28/temp" xdebug.trace_enable_trigger =On
2022年04月21日
47 阅读
0 评论
0 点赞
2022-03-11
PHP解压JAVA压缩内容、deflate(压缩)和inflate(解压)
<?php // 首先获取post的字符串: // 因为是直接写入的压缩字符串, // 通过$_POST[]并不能获取post内容, // 可以通过原始请求数据的只读输入流获得post内容 $postStr = file_get_contents('php://input'); // Java中默认的Deflater的数据格式有wrap,Java中应设置no_wrap的Deflater // 如果Java中没有指定no_wrap的Deflater,则PHP中通过下面的算法将wrap去掉,也可以正常解压 // $deflateForPHP = substr($postStr, 2, -4); // 解压缩获得请求的内容 $plainRequest = gzinflate($postStr); // code here ... // 将处理结果压缩后返回请求端 $result = "准备发给android的处理结果"; echo gzdeflate($result); ?>转载自:https://www.cnblogs.com/cxscode/p/12603199.html
2022年03月11日
56 阅读
0 评论
0 点赞
2021-11-17
PHP高效批量字符串替换类
以前是在.net里面写的高效替换字符串的类后因PHP要使用类似功能,所以重写了一个PHP版本,但是PHP没有类似字典的高效数据存储方式,所以性能还能优化暂贴着备忘原理是使用了树数据结构 #region 高效字符串替换类 class TrieNode { public $m_end; public $m_values; public function __construct() { $this->m_end = false; $this->m_values = []; } public function TryGetValue($key, &$node) { if (array_key_exists($key, $this->m_values)) { $node = $this->m_values[$key]; return true; } $node = new TrieNode(); return false; } } class TrieFilter extends TrieNode { private $ignorecase = false; public function __construct($keys, $isgore = false) { parent::__construct(); $this->ignorecase = $isgore; $this->AddKey($keys); } private function AddKey($keys) { foreach ($keys as $j => $key) { if (empty($key)) { return; } $node = $this; $key = strsplit($key); foreach ($key as $i => $v) { $c = $this->GetChar($v); if (!$node->TryGetValue($c, $subnode)) { $subnode = new TrieNode(); $node->m_values[$c] = $subnode; } $node = $subnode; } $node->m_end = true; } } private function GetChar($car) { if ($this->ignorecase) { return strtolower($car); } return $car; } public function Replace($text, $d, $onlyone = true, $excludehtml = true) { $ori = $text; $onlysize = 0; $length = mb_strlen($text); $textArr = strsplit($text); foreach ($textArr as $i => $v) { $node = null; if ($this->TryGetValue($this->GetChar($v), $node)) { for ($j = $i + 1; $j < $length; $j++) { if ($node->TryGetValue($this->GetChar($textArr[$j]), $node)) { if ($node->m_end) { if (count($node->m_values) > 0 && $length > $j + 1 && array_key_exists($this->GetChar($textArr[$j + 1]), $node->m_values)) { if ($j + 1 >= $length) { return $ori; } continue; } $isin = $excludehtml; if ($excludehtml) { $start = mb_substr($text, 0, $i); if (StringCount($start, "<a") == StringCount($start, "</a>") && StringCount($start, "<") == StringCount($start, ">")) { $isin = false; } } if (!$isin) { if (!empty($d[mb_substr($text, $i, $j + 1 - $i)])) { $mvalue = $d[mb_substr($text, $i, $j + 1 - $i)]; $key = mb_substr($text, $i, $j + 1 - $i); $ori = mb_substr($ori, 0, $i + $onlysize) . $mvalue . mb_substr($ori, $j + 1 + $onlysize); $onlysize += mb_strlen($mvalue) - mb_strlen($key); if ($onlyone) { $d[mb_substr($text, $i, $j + 1 - $i)] = ""; } } } $i = $j; } if ($j + 1 >= $length) { return $ori; } } else { if ($j + 1 >= $length) { return $ori; } break; } } } } return $ori; } } function StringCount($value, $find) { $value = strtolower($value); $find = strtolower($find); $count = 0; //计数器 $vlen = mb_strlen($value); $flen = mb_strlen($find); for ($i = 0; $i <= $vlen - $flen; $i++) { if (mb_substr($value, $i, $flen) == $find) { $count++; } } return $count; } function strsplit($str) { return preg_split('/(?<!^)(?!$)/u', $str); } function tmsectime() { list($msec, $sec) = explode(' ', microtime()); $msectime = (float) sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); return $msectime; } /** * 高效批量字符串替换 * @param string $text 字符串内容 * @param array $d 替换字典,数组结构,李['张三' => '李四', '王五' => '傻六'];意思就是把张三替换成李四,王五替换成傻六 * @param bool $onlyone 是否每个词只替换一次 * @param bool $excludehtml 是否排除a标签内的内容,例如<a title="张三哈哈哈">王五哈哈哈</a>,这种,就只会替换王五,这个参数主要是替换带连接内容使用 * @return string */ function replace_batch($text, $d, $onlyone = true, $excludehtml = true) { $cacheoption = [ 'type' => 'File', 'path' => CACHE_PATH, 'prefix' => '', 'expire' => 0 ]; // $min = tmsectime(); $tf = cache("tf_TrieFilter", '', $cacheoption); if (!$tf) { $tf = new TrieFilter(array_keys($d)); cache("tf_TrieFilter", $tf, $cacheoption); } // $max = tmsectime(); // var_dump($max - $min); $s = $tf->Replace($text, $d, $onlyone, $excludehtml); // var_dump(tmsectime() - $max); // exit(); return $s; } #endregion
2021年11月17日
141 阅读
0 评论
0 点赞
2021-10-27
CentOS7安装PHP
1、下载php wget https://www.php.net/distributions/php-7.4.22.tar.gz 这里下载的是7.4.22,其他版本官网下载2、解压 tar -zvxf php-7.4.22.tar.gz 3、进入目录 cd php-7.4.22 4、进行预编译 ./configure --prefix=/home/php --enable-fpm 后面编译携带参数可以使用 ./configure --help 查看具体说明 --prefix=/home/php #这里是指定安装目录 --enable-fpm #这里是PHPFastCGI管理器,为了后面Nginx能解析PHP 后面可以加一些常用的PHP扩展一起编译 , 这样安装后就自带这些扩展。出现错误 configure: error: Package requirements (libxml-2.0 >= 2.7.6) were not met: 解决方法: yum -y install libxml2-devel出现错误 configure: error: Package requirements (sqlite3 > 3.7.4) were not met: 解决方法: yum -y install sqlite-devel出现表示预编译成功5、安装 make && make install 这里需要点时间安装成功,到这里才发现我装错地方了,不过不影响使用。6、启动 复制代码cd /home/php/ #先进入安装目录 mv ./etc/php-fpm.conf.default ./etc/php-fpm.conf #重命名配置文件 mv ./etc/php-fpm.d/www.conf.default ./etc/php-fpm.d/www.conf #重命名配置文件 ./sbin/php-fpm #启动 ps -aux |grep php-fpm #查看启动状态(下面成功启动) ![1204484-20210903112954789-2099675308.png](https://cdn-01.xue265.com/blog/typecho/1204484-20210903112954789-2099675308.png) 复制代码7、使用Nginx解析PHP, 编辑文章 centOS7安装、配置nginx,常用命令及禁用IP访问 进入到nginx安装目录 cd /opt/nginx/ 修改配置文件 vim ./conf/nginx.conf 修改内容如下(1)增加index.php(2)取消注释(3)修改路径保存退出 ,重启Nginx ./sbin/nginx -s reload 然后在 html 目录下面 vim index.php 写入内容保存退出,打开浏览器访问 结束安装。参考资料https://www.cnblogs.com/-wei/p/15222477.html
2021年10月27日
82 阅读
0 评论
0 点赞
2021-10-13
PHP正则处理中文,及\L,\x{}等错误解决
正确代码如下:$res=array(); $str="你好aaaaa啊" preg_match_all("/[\x{4e00}-\x{9fa5}]+/u",$str,$res); var_dump($res); //输出 //array(1) { [0]=> array(2) { [0]=> string(6) "你好" [1]=> string(3) "啊" } }注意点:常规正则是: [\u4e00-\u9fa5] PHP正则使用这种类型会报错: PCRE does not support \L, \l, \N, \P 所以PHP支持的中文正则是: [\x{4e00}-\x{9fa5}] 但是只写这种内容还是会报错: preg_replace(): Compilation failed: character value in \x{} or \o{} is too large 所以就需要在正则字符串后缀加上u,例如上面正确例子的/[x{4e00}-x{9fa5}]+/ u
2021年10月13日
90 阅读
0 评论
0 点赞
1
2
3