Warning: Error while sending QUERY packet. PID=8448 in /home/wwwroot/coco/domain/cnlamp/web/wp-includes/wp-db.php on line 1924 PHP | LAMP新闻|技巧|经验|资讯站
现在位置 >首页 > 所有属于PHP分类文章
0+
导出excel时,一般需要将utf8转换为gbk,刚开始使用iconv函数,一读到特殊字符,例如㎡等,就会断开,将查找发现iconv转换时,无法转换特殊字符。 推荐使用 mb_convert_encoding 使用方法: mb_convert_encoding($strContent, "gbk", "utf-8")
阅读全文
0+
php写采集的时候,经常用到一些函数,先总结如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192//获得当前的脚本网址 function get_php_url(){ if(!empty($_SERVER["REQUEST_URI"])){ $scriptName = $_SERVER["REQUEST_URI"]; $nowurl = $scriptName; }else{ $scriptName = $_SERVER["PHP_SELF"]; if(empty($_SERVER["QUERY_STRING&...
阅读全文
0+
        四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe  一、如何选择 PHP5.3 的 VC9 版本和 VC6 版本  VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。  VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。  二、如何选择 PHP5.3 的 Thread Safe 和 Non Thread Safe 版本  先从字面意思上理解,Thread Safe 是线程安全,执...
阅读全文
0+
加入指定日志为:2014-07-01 则7月1日 前一天的日期为 date(“Y-m-d”,strtotime(“-1 days”,strtotime(‘2014-07-01’))) 前一月的日期为 date(“Y-m-d”,strtotime(“-1 months”,strtotime(‘2014-07-01’))) 前一年的日期为 date(“Y-m-d”,strtotime(“-1 years”,strtotime(‘2014-07-01’))) 如果是后一天,后一年,后一个月的日期 后一天的日期为 date(“Y-m-d”,strtotime(“+1 days”...
阅读全文
0+
今天使用php采集某网站,发现get_file_contents获取的内容全是乱码,检查后发现不是因为编码的问题。经查找,发现PHP的file_get_contents获取远程页面内容的时候,如果远程网页内容是gzip编码过的,返回的字符串就是编码后的乱码。 解决方法如下: 1、找个ungzip的函数来转换下 2、给你的url加个前缀,这样调用 1$content = file_get_contents("compress.zlib://".$url); 无论页面是否经过gzip压缩,上述代码都可以正常工作! 3、使用curl模块同样可解决问题 12345678910function curl_get(...
阅读全文
0+
发表于3年前 PHP
今天做导出excel时,总是莫名其妙的自动换到下一行,看数据库中存入的信息,发现都带换行符,去掉\n无效,经查找资料,发现每个操作系统下的换行符是不一样的: Linux:\n Windows:\r\n mac:\r 要去除回车换行: 1.使用str_replace ,将所有的情况都替换到。 1$str= str_replace(array("\r\n", "\r", "\n"), "", $str); 2.php定义好变量(比较好的方法) 1$str= str_replace(PHP_EOL, '', $str);
阅读全文
0+
发表于3年前 PHP
$str="i    am     a      book\n\n\n\n\nmoth"; //去除所有的空格和换行符 echo preg_replace("/[\s]{2,}/","",$str).''; //去除多余的空格和换行符,只保留一个 echo preg_replace("/([\s]{2,})/","\\1",$str);$str="i    am     a      book\n\n\n\n\nmoth"; //去除所有的空格和换行符 echo preg_replace("/[\s]{2,}/","",$str).''; //去除多余的空格和换行符,只保留一个 echo preg_replace("/([...
阅读全文
3+
1、thinkphp3.2版本在进行域名部署时存在bug。 举例说明: 绑定域名:test.abc.com。 绑定到模块test中 现在访问test模块下的控制器方法,则url是 test.abc.com/index/index  这是访问test模块下的index控制器的index方法。 但是test/index/index页面中有存在其他模块的链接页面,例如,要访问test2模块下面的页面,test2/other/index,使用U函数,U(“test2/other/index”),则U函数返回的结果是/other/index那么当访问这个链接的时候,就会变为 test.abc.com/other/index。但是test模块下并没有other这...
阅读全文
0+
使用unserialize函数将数据还原回数组的时候遇到了这个报错,后来发现是将gb2312转换成utf-8格式之后,每个中文的字节数从2个增加到3个之后导致了反序列化的时候判断字符长度出现了问题,所以需要使用正则表达式将序列化的数组中的表示字符长度的值重新计算一遍,代码如下: function mb_unserialize($serial_str) { $out = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str ); return unserialize($out)...
阅读全文
0+
发表于4年前 PHP
php是不支持多线程的,程序执行是严格按照顺序来执行,并需等待上一个程式代码执行完毕,才会执行下一个。但是有些功能如果是按照顺序来执行,就会出现问题了。例如,转移复制大文件时,则需要页面等待很长时间,造成超时等错误的产生。经过研究,研究出可以使php实现多线程的方法。 具体实现方法就是利用php的cli模式来执行多线程,即用php的函数exec来执行一个系统。 1、多线程实现的前提条件: (1) php的exec函数必须能够使用。 (2)知道服务器端php命令的路径。 2、关于exec函数说明: exec — 执行外...
阅读全文
×
腾讯微博