nginx 虚拟目录的设置alias
[ 2020-06-13 15:18:12 | 作者: admin ]
p.s. 在增加虚拟目录的时候,location块可以使用root和alias,差别是使用root后,需要url中再多加个虚拟目录
使用alias 会直接映射 /data/code_img/1.png
使用root 会映射为 /data/code_img/img/1.png
静态文件只要如上面设置即可,但是php的文件需要做下面的处理
阅读全文…
location ^~ /img/ {
alias /data/imgs/;
}
当浏览器访问 http://127.0.0.1/img/1.pngalias /data/imgs/;
}
使用alias 会直接映射 /data/code_img/1.png
使用root 会映射为 /data/code_img/img/1.png
静态文件只要如上面设置即可,但是php的文件需要做下面的处理
location ~ ^/public/.+\.php$
{
root /data/www/web/public;
rewrite /public/(.*\.php?) /$1 break;
...{
root /data/www/web/public;
rewrite /public/(.*\.php?) /$1 break;
阅读全文…
使用preg_match和preg_match_all正则书写正确,但匹配不到的解决办法
[ 2020-06-13 10:32:56 | 作者: admin ]
使用preg_match正则书写正确,但匹配不到的解决办法
以下建立在正则书写正确,且有匹配内容的前提下,有可能是preg_match对匹配的字符串有长度限制的问题
解决办法(任选一个):
1.在php.ini中加入(随便放到哪里):pcre.backtrack_limit=-1
2.ini_set(‘pcre.backtrack_limit', 999999999); (php 5.2.0版本之后可用)
另外pcre.recursion_limit是PCRE的递归限制,这个项如果设很大的值,会消耗所有进程的可用堆栈,最后导致PHP崩溃。
实际项目应用中,最好也对内存进行限定设置:ini_set(‘memory_limit', '64M');
https://blog.lmlyz.online/index/detail/id/64.html
以下建立在正则书写正确,且有匹配内容的前提下,有可能是preg_match对匹配的字符串有长度限制的问题
解决办法(任选一个):
1.在php.ini中加入(随便放到哪里):pcre.backtrack_limit=-1
2.ini_set(‘pcre.backtrack_limit', 999999999); (php 5.2.0版本之后可用)
另外pcre.recursion_limit是PCRE的递归限制,这个项如果设很大的值,会消耗所有进程的可用堆栈,最后导致PHP崩溃。
实际项目应用中,最好也对内存进行限定设置:ini_set(‘memory_limit', '64M');
https://blog.lmlyz.online/index/detail/id/64.html
php抓取微信文章,另外就是图片防盗链的解决
[ 2020-06-10 13:17:46 | 作者: admin ]
可以获取的信息包括:文章html富文本,无图html文本,以及文章的基本信息:标题、作者、封面图片、公众号等信息。
使用方式:
$crawler = new WxCrawler();
$content = $crawler->crawByUrl($url);
content数组结构为:
```
[
[
'date' => '',//发布日期
'title'=> '',//标题
'digest'=> '',//描述
'content_url'=> '',//文章链接
'cover'=> '',//文章封面链接
'wechatname'=> '',//微信公众号名称
],
'content_html' => '',
'content_text' => '',
...
阅读全文…
使用方式:
$crawler = new WxCrawler();
$content = $crawler->crawByUrl($url);
content数组结构为:
```
[
[
'date' => '',//发布日期
'title'=> '',//标题
'digest'=> '',//描述
'content_url'=> '',//文章链接
'cover'=> '',//文章封面链接
'wechatname'=> '',//微信公众号名称
],
'content_html' => '',
'content_text' => '',
...
阅读全文…
正则批量替换函数preg_replace_callback 在php5.2 php5.3中的类中使用问题相关说明
[ 2020-06-09 21:54:10 | 作者: admin ]
p.s. 真的挺奇怪,这么常用的函数,关于类中使用网上居然很难找到有用相关资料,难道大伙都避免使用preg_replace_callback吗。有用的说明请看参考1.
下面举例说明,其中 next_year 为回调函数
php5.2和php5.3的类中都可以使用的标准方法:
阅读全文…
下面举例说明,其中 next_year 为回调函数
function next_year($matches) {
// 通常:$matches[0] 是完整的匹配项,$matches[1] 是第一个括号中的子模式的匹配项, 以此类推
return $matches[1].($matches[2]+1);
}
// 通常:$matches[0] 是完整的匹配项,$matches[1] 是第一个括号中的子模式的匹配项, 以此类推
return $matches[1].($matches[2]+1);
}
php5.2和php5.3的类中都可以使用的标准方法:
preg_replace_callback(”|(d{2}/d{2}/)(d{4})|”,array( &$this, ‘next_year’), $str);
...阅读全文…
PHP中Header使用的HTTP协议及常用方法小结
[ 2020-06-04 09:42:29 | 作者: admin ]
本文实例总结了PHP中Header使用的HTTP协议及常用方法。分享给大家供大家参考。具体方法如下:
阅读全文…
<?PHP
function https($num) {
$http = array (
100 => "HTTP/1.1 100 Continue",
101 => "HTTP/1.1 101 Switching Protocols",
200 => "HTTP/1.1 200 OK",
201 => "HTTP/1.1 201 Created",
202 => "HTTP/1.1 202 Accepted",
203 => "HTTP/1.1 203 Non-Authoritative Information",
204 => "HTTP/1.1 204 No Content",
205 => "HTTP/1.1 205 Reset Content",
...function https($num) {
$http = array (
100 => "HTTP/1.1 100 Continue",
101 => "HTTP/1.1 101 Switching Protocols",
200 => "HTTP/1.1 200 OK",
201 => "HTTP/1.1 201 Created",
202 => "HTTP/1.1 202 Accepted",
203 => "HTTP/1.1 203 Non-Authoritative Information",
204 => "HTTP/1.1 204 No Content",
205 => "HTTP/1.1 205 Reset Content",
阅读全文…
php中isset,unset,reset区别和联系
[ 2020-05-16 14:55:51 | 作者: admin ]
1:isset - 确定如果一个变量被设置,不为NULL,isset只检查变量。
2:unset 取消设置(Unset a given variable)
3:reset() 函数把数组的内部指针指向第一个元素,并返回这个元素的值。
2:unset 取消设置(Unset a given variable)
3:reset() 函数把数组的内部指针指向第一个元素,并返回这个元素的值。
奇妙的smarty快函数smarty_block_name,以插件扩展Smarty之一
[ 2020-05-09 13:49:11 | 作者: admin ]
本文内容实属不理解块函数原理,详细分析还请看本人另外一篇blog,smarty_block_name解惑篇 http://blog.xg98.com/article.asp?id=2669
p.s.本人非常讨厌任何模板语法,能不用就不用。关于smarty的plugin扩展,官方文档惜字如金,实在看的不明不白 https://www.smarty.net/docs/zh_CN/plugins.block.functions.tpl
当block中涉及变量,如果直接赋予字符串没有问题,如果给予一个变量常常就不对头了。
结果正确:
结果错误:
百度了很多文档是在$s...
阅读全文…
p.s.本人非常讨厌任何模板语法,能不用就不用。关于smarty的plugin扩展,官方文档惜字如金,实在看的不明不白 https://www.smarty.net/docs/zh_CN/plugins.block.functions.tpl
当block中涉及变量,如果直接赋予字符串没有问题,如果给予一个变量常常就不对头了。
结果正确:
$smarty->assign("title", "这是标题");
结果错误:
$smarty->assign("title", $item[title]);
百度了很多文档是在$s...
阅读全文…
PHP 使用 phpmailer 发送电子邮件,骑士招聘程序改ssl方式发送邮件
[ 2020-02-24 09:11:16 | 作者: admin ]
p.s. 骑士cms使用phpmailer 发送邮件,阿里云服务器关闭了25端口,所以只能使用非25的SSL发送。
如qq企业邮箱,使用 smtp.exmail.qq.com ,ssl端口465 来发送即可。然后找到骑士cms中的phpmailer配置,开启ssl模式。
phpmailer 安装或者下载方式:
1、从 github 上下载: https://github.com/PHPMailer/PHPMailer/
2、使用 composer 安装:
发送之前需要拥有自己的邮件服务器,测试的时候其实用自己申请的免费邮箱最方便了,不需要自己再搭建服务器了,可能要配置邮箱的SMTP服务,大部分公共邮箱(163、qq等)为了安全默认是关闭的。
...
阅读全文…
如qq企业邮箱,使用 smtp.exmail.qq.com ,ssl端口465 来发送即可。然后找到骑士cms中的phpmailer配置,开启ssl模式。
phpmailer 安装或者下载方式:
1、从 github 上下载: https://github.com/PHPMailer/PHPMailer/
2、使用 composer 安装:
composer require phpmailer/phpmailer
发送之前需要拥有自己的邮件服务器,测试的时候其实用自己申请的免费邮箱最方便了,不需要自己再搭建服务器了,可能要配置邮箱的SMTP服务,大部分公共邮箱(163、qq等)为了安全默认是关闭的。
...
阅读全文…