随笔分类 - php
php
摘要:WordPress博客网站fonts.useso加载慢解决办法
之前WordPress博客因为google字体库访问不了替换成360的useso,最近WordPress博客网站一直等待fonts.useso.com导致打开缓慢
这是360提供的公共库,因为谷歌大陆的公共库恢复了,360停止服务了,更换成谷歌的即可。
打开wordpress代码中的文件wp-includes/script-loader.php文件,搜索:fonts.useso.com 找到这行代码:
$open_sans_font_url = "//fonts.useso.com/css?family1=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";
把fonts.useso.com替换为fonts.googleapis.com
如果用到tinymce编辑器还需要替换\wp-includes\js\tinymce\plugins\compat3x\css\dialog.css文件里面的内容,方法同上。
最好是用工
阅读全文
摘要:php防盗链,php ci在control里面控制除了自己站内的链接点击跳转,其他来源的都跳到站内页面
阅读全文
摘要:php原子操作,文件锁flock,数据库事务
php没有继承posix标准支持的unix锁,只封装了一个linux系统调用flock(信号量也能做成锁),按理也是可以使用锁机制的,虽然效率低一点。
php脚本是运行在fastcgi容器中,而fastcgi是多进程的,所以如果php程序访问了临界资源,势必造成程序结果的不正确性。
估计还要考虑下fastcgi容器的问题
用php文件锁flock 我们试了不行,还是用C++队列
用C++监听了一个端口,直接接收HTTP包,然后返回HTTP格式的包,PHP程序中用curl访问我这个C程序.
阅读全文
摘要:高并发 php uniqid 用md5生成不重复唯一标识符方案
uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。
uniqid(prefix,more_entropy)
prefix 可选。为 ID 规定前缀。如果两个脚本恰好在相同的微秒生成 ID,该参数很有用。
more_entropy 可选。规定位于返回值末尾的更多的熵。
如果 prefix 参数为空,则返回的字符串有 13 个字符串长。如果 more_entropy 参数设置为 true,则是 23 个字符串长。
如果 more_entropy 参数设置为 true,则在返回值的末尾添加额外的熵(使用组合线形同余数生成程序),这样可以结果的唯一性更好。
以字符串的形式返回唯一标识符。
提示和注释:由于基于系统时间,通过该函数生成的 ID 不是最佳的。即使使用了第二个参数,也会重复,如需生成绝对唯一的 ID最好的方案是结合md5函数来生成唯一ID。
阅读全文
摘要:Laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD和BDD,作为一个框架,它为你准备好了一切,composer是个php的未来,没有composer,PHP肯定要走向没落。
laravel最大的特点和优秀之处就是集合了php比较新的特性,以及各种各样的设计模式,Ioc容器,依赖注入等。因此laravel是一个适合学习的框架,他和其他的框架思想有着极大的不同,这也要求你非常熟练php,基础扎实。
如果你觉得laravel很困难 那么原因只有一个 你php基础不够好。
通常觉得Laravel难学且无用的开发者中,只会PHP一门语言,或者说,没有静态编译型语言(如C/C++/Java/Go等)使用经验的开发者占绝大多数。
路由和orm部分,和前端backbone之类的结合应该很契合,还是很不错的,另外composer是个很好东西,关于效率问题,web程序的运行效率从来就不在框架,而在数据库,框架那一点点消耗根本不会是什么负担。
Laravel 5.3 在2016年8月24日正式发布了,而且有中文版文档了:
Laravel 5.3 中文文档 – Lar
阅读全文
摘要:PHP用substr截取字符串出现中文乱码问题用mb_substr
实例:mb_substr('截取中文乱码问题测试',0,5, 'utf-8');
语法 : string substr (string string, int start [, int length])
$rest = substr ("abcdef", 1); // returns "bcdef"
$rest = substr ("abcdef", 1, 3); // returns "bcd"
阅读全文
摘要:php用jquery-ajax上传多张图片限制图片大小
用filesize函数获取文件大小,filesize这个内置函数不能直接放$fileInputName或者$file['name'],要用$file['tmp_name'],或者直接用$file['size']
上图是打印出来的$file属性
阅读全文
摘要:jQuery上传插件,文件上传测试用例
jQuery File Upload-jQuery上传插件介绍
http://www.jq22.com/jquery-info230
jQuery File Upload-jQuery上传插件demo
http://www.jq22.com/yanshi230
阅读全文
摘要:PHPExcel读取excel文件示例
PHPExcel最新版官方下载网址:http://phpexcel.codeplex.com/
PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包中带有大量如何生成各种样式excel文件的示例,但没有一个读取Excel文件的完整例子,下面是读取的例子:
读取Excel的内容主要有两个选择:PHPExcelReader、PHPExcel。
PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader。但是可惜的是不能够支持Excel 2007的格式(.xlsx)。
PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。
阅读全文
摘要:网站app被劫持怎么办?HTTPDNS阿里云域名防劫持, DNSPod 移动解析服务 D+
HTTPDNS_移动开发_域名解析_域名防劫持-阿里云
HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。
D+就是DNSPod研发的HttpDNS服务的专用名称。HttpDNS是使用HTTP协议向DNS服务器的80端口进行请求,代替传统的DNS协议向DNS服务器的53端口进行请求,绕开了运营商的Local DNS,从而避免了使用运营商Local DNS造成的劫持和跨网问题。
阅读全文
摘要:PHP获取6位数随机数,获取redis里面不存在的6位随机数(设置24小时过时)
$randStr = str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890');
$rand = substr($randStr,0,6);
阅读全文
摘要:升级到php7相关问题,日请求过亿QQ会员活动平台PHP7升级实践
ThinkPHP5.0也是全新架构的了,性能也是大幅提升的
用ThinkPHP3.2版本的代码完全无法升级到5.0上使用的
刚查了下,CI 4.0基于php7重新架构的现在还没有发布
CI 4.0 也是声明是颠覆性的升级,不向下兼容的
看来升级到php7 基本上连带着所有框架插件都得重新搞一套了
这次是全面大升级,互联网,移动互联网发展太快了,必须得跟着升级,不然完全跟不上业务发展需求
php7.0性能比php5.6提升8倍,而php5.6 5.5 比之前的5.4又提升好几倍的,比5.3就提升更多了,对需要多台服务器的来说直接就节省了一大半服务器费用开支了
阅读全文
摘要:wamp下配置多域名和访问路径的方法
1.到安装目录下,打开配置httpd.conf
D:\wamp\bin\apache\Apache2.2.21\conf\httpd.conf
也可以通过wamp图标打开。查找 Virtual hosts 去掉下面include行前面的# 修改为
#Virtual hosts
Include conf/extra/httpd-vhosts.conf
这样就在配置文件中引入了httpd-vhosts.conf文件。
阅读全文
摘要:php json_decode() 如果想要强制生成PHP关联数组,json_decode()需要加一个参数true
阅读全文
摘要:zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法:
zendstudio 时常 无法ctrl+左键跳转到函数源代码是创建工程的方式造成的,很有可能是把先前存在的工程以file的形式导入,zendstudio就把工程当作文档来处理了
解决的办法是:
右键点击工程->configure->add php support 然后系统会自动rebuild工程/workspace ,
至此,问题解决!
另外很多问题用 Clean projects 可以解决
阅读全文
摘要:ThinkPHP CURD mysql操作
ThinkPHP提供了灵活和方便的数据操作方法,对数据库操作的四个基本操作(CURD):创建、更新、读取和删除的实现是最基本的,也是必须掌握的,在这基础之上才能熟悉更多实用的数据操作方法。CURD操作通常是可以和连贯操作配合完成的。下面来分析下各自的用法:(下面的CURD操作我们均以M方法创建模型实例来说明,因为不涉及到具体的业务逻辑)
阅读全文
摘要:ThinkPHP问题收集:模板中使用U方法时无法嵌套大括号,For标签,插入数据,新增的表字段缓存问题
阅读全文
摘要:修改apache配置文件去除thinkphp url中的index.php
例如你的原路径是 http://localhost/test/index.php/index/add
变成 http://localhost/test/index/add
阅读全文
摘要:zendstudio中加入对tpl文件的支持,用HTML Editor编辑器编辑:
ThinkPHP中默认使用的tpl在zendstudio中默认打开都是文本编辑器的,没有语法提示开发效率很低,直接设置成HTML Editor要么崩溃要么不起作用,经过多次搜索和试验终于配置成功了。
1.窗口->首选项->常规->内容类型->文本->PHP Content Type->添加新关联文件,"*.tpl",确定。
2.窗口->首选项->常规->编辑器->文件关联->添加新的文件关联,"*.tpl"->添加相关联的编辑器->默认为 HTML Editor,同时增加PHP Editor和Text Editor。
用上面的方式设置zendstudio编辑tpl模版文件跟编辑html文件一样,效率高多了,右边可以看到详细的目录层级结构,有语法着色提示,标签提示等。
不用切换到Dreamweaver里面编辑tpl文件了(由于ThinkPHP设置public目录下的文件为html可以直接访问,tpl文件不能直接访问,可以增强安全性)
阅读全文
摘要:thinkphp标签实现bootsrtap轮播carousel实例
由于轮播carousel第一个div需要设置active样式才能正常显示,上面的圆点也同样需要数字,
使用volist标签在循环的同时可以取得下标(foreach,for标签实现不了)
阅读全文