Category Archives: PHP技术

ie下面 $_SERVER['HTTP_REFERER'] 取不到值

最近在做项目遇到这样一个问题, window.location 跳转 ,然后在 服务端 获得不了 来路, 即 $_SERVER['HTTP_REFERER'] 取不到值.(ie浏览器下面) 查了下资料 : IE下面: 只有点击超链接(即a标签的时候) 打开的页面才有HTTP_REFERER环境变量, 其它如 window.open()、 window.location=…、window.showModelessDialog()等打开的窗口都没有HTTP_REFERER 环境变量。 想了下解决办法: 1 跳转的时候 在url 里面直接带上参数, 处理玩在调回请求页面 2 把跳转前的信息存到服务端 (session,cookie ) 等 大家都注意下哦

php curl,file_get_contents使用时需要注意哪些事项?

在德问上看到的, 提问, 结合 评论写了个文章 php,在很多时候我们调用别人的接口,通常都是靠curl,file_get_contents获取接口输出的内容进行进行处理数据。 有时候curl,file_get_contents测试的时候,执行时间和效率都相差无几,但有时却因为file_get_contents不及curl。 请问大家再选择获取其他连接地址输出。怎样选取这俩个函数,或者需要注意的事项。 下面是评论信息, 写出了 curl 跟file_get_contents  之间的区别到底是什么? file_get_contents 每次请求都会重新做DNS查询,并不对DNS信息进行缓存。但是CURL会自动对DNS信息进行缓存。对同一域名下的网页或者图片的请求只需要一次DNS查询。这大大减少了DNS查询的次数。所以CURL的性能比file_get_contents 好很多。 file_get_contents在请求HTTP时,使用的是http_fopen_wrapper,不会keeplive。而curl却可以。这样在多次请求多个链接时,curl效率会好一些。 file_get_contents函数会受到php.ini文件中allow_url_open选项配置的影响。如果该配置关闭了,则该函数也就失效了。而curl不受该配置的影响。 curl可以模拟多种请求,例如:POST数据,表单提交等,用户可以按照自己的需求来定制请求。而file_get_contents只能使用get方式获取数据。

php-fpm 到底是个神马东西?

PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。 PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。 现在我们可以在最新的PHP 5.3.2的源码树里下载得到直接整合了PHP-FPM的分支,据说下个版本会融合进PHP的主分支去。相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。 PHP5.3.3已经集成php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。 使用PHP-FPM来控制PHP-CGI的FastCGI进程

PHP5.39 VC9 VC6不同版本的区别是什么

什么是 PHP5.3的VC9版本和VC6版本
VC6是什么?
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9是什么?
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。 Continue reading

JS 通过键值读取cookie

?View Code JAVASCRIPT1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 JS读取cookie   // 我们定义一个函数,用来读取特定的cookie值。 function getCookie(cookie_name) { var allcookies … Continue reading

PHP的hash冲突漏洞进行DDoS攻击 解决方法

晚上听朋友说最近PHP 爆出的hash表碰撞漏洞,回家看自己的服务器 确实存在这个问题, 找了下解决办法 攻击原理: 通过向目标服务器post一组精心拼凑的数组参数,到达服务端后语言底层处理接收到的数组参数时,由于该漏洞的存在造成CPU的大量消耗,最终导致服务器资源耗尽。 直接把CPU 搞到100%; 去碰撞下,CPU 直接跑到100% 目前最新的 PHP 5.3.9-RC4 已经修复了本漏洞 , 升级还不现实 解决方案: nginx 临时办法: 默认的最大请求body大小为8m,修改设置client_max_body_size=10k;此招为各种情况下万金油,会影响用户。 固定链接: 固定链接: http://www.wangzhibo.com/index.php/archives/781.html 转载请说明出处

如何让 flash 的底色 透明。

网站 上的FLASH 轮播图 是不透明的, 显示白色, 跟网站风格不搭配 解决办法 : e中设置flash底色透明是在object中添加 firefox中,起作用的是embed,在其中加入属性 wmode=”transparent” IE 火狐是不一样的 在 生成flash 的里面嵌入, 可以完美解决 flash 背景不透明问题

curl 模拟post请求

我们经常会模拟一些请求, 比如模拟登录抓取数据,模拟提交等等。。
下面我给出一个 curl 的模拟提交方式

//curl 参数还有很多, 例如 模拟来路请求。模拟请求IP …. 网上搜搜 ,一堆堆的
Continue reading

ecshop 自动内联(内链)小插件

大家都说新浪,搜狐,做的好,那么有多少seoer潜心去研究过它们的网站,对他们的优化手段有知多少,不管怎样这些网站对大家的感觉就是很强大,文章是看完一篇想看第二篇,那么到底这些网站靠的是什么样的手段才提高了网站的PV,提高了用户的粘性?四个字:内部链接。
可是ECSHOP 本事的 文章系统并不是很完善,我特此写了一个小插件, 让ECSHOP 也可以玩 内联 Continue reading

php格式化时间(全)

写代码碰到一个 格式化时间问题 ,要把时间戳格式化成 (2011年8月11日) 这样的, 查了下手册,顺便复习下时间函数 , 写法: ?View Code PHP1 2 $date = date(’Y年n月d日’,time()); echo $date; string date(string $format, int $timestamp); 格式字串可以识别以下 format 参数的字符串 format 字符 说明 返回值例子 日 — — d 月 份中的第几天,有前导零的 2 位数字 01 到 31 … Continue reading

高效的php 导出 xls,csv 的方法

经常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限。这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件。 Continue reading

如何禁止搜索引擎收录,robots.txt 的使用

公司网站的后台可以被搜索引擎收录, 查了个文章,学习了下 robots.txt 的使用方法
禁止搜索引擎收录的方法大概有3种。
方法一:服务器禁止访问。… Continue reading

如何在服务端获得客户端信息.

比如你用得到服务器和客户端的设置信息,但是这个信息会因为客户端的不同而不同,如果想要保存phpinfo()函数的输出怎么办呢?在没有缓冲区控制之前,可以说一点办法也没有,但是有了缓冲区的控制,我们可以轻松的解决:

<?php
ob_start(); //打开缓冲区
phpinfo(); //使用phpinfo函数
$info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info
$file=fopen(\'info.txt\',\'w\'); //打开文件info.txt
fwrite($file,$info); //写入信息到info.txt Continue reading

thinkphp 的主从数据库 链接资源分析

thinkphp 的主从数据库 链接资源分析

一主一丛

主 —负责数据的 插入,更新,删除
从 —负责数据的查询

操作的时候 通过 返回不同的 数据库链接来进行操作
下面是他的链接操作的代码 Continue reading

新浪微博Error_code: 400; Error: 40022:Error: source paramter(appkey) is missing的解决方法

老乡要用微博, 我在sina 官网下载的SDK , 娄了几眼, SDK 直接报错误.
看了下代码, 排除错误的解决方法
在调用statuses/public_timeline 获取最新的公共微博消息 的API出现Error_code: 400; Error: 40022:Error: source paramter(appkey) is missing的错误,终于还是解决了问题,原来是少了一条语句”source” => $consumer->key,
Continue reading