PHP中php_ldap.dll不能加载怎么办
将winntphp.ini-dist改名为php.ini,并找到;Windows Extensions项将
代码如下 | 复制代码 |
;extension=php_ldap.dll 改成 extension=php_ldap.dll |
如果有其它的可以
代码如下 | 复制代码 |
extension_dir = c:php4 |
然后从php5中 把libeay32.dll和ssleay32.dll文件 复制到
代码如下 | 复制代码 |
C:/Windows/System/System32 |
这样就可以使用了php_ldap了,查看是否安装上php_ldap.dll文件,打开phpinfo().就可以查看是否安装成功!
一般情况下您只需将其放入以下目录后“系统找不到php_ldap.dll”或者“没有php_ldap.dll的问题”就可以得到解决:
当然,如果您的操作系统没有安装到C盘,只需将路径中的C换作安装操作系统的盘符即可。如果是一般的应用程序找不到DLL文件,可能只需要将下载到的DLL文件拷贝到您启动的应用程序所在的目录。
ob_start ob_get_flush 这些函数是缓存技术的一种,是减轻服务器压力的,直到项目开发用到才知道混淆了和缓存的概念,
这些像ob_start ob_get_flush这些函数都是为了在编程中字符串输出到客户端上去为了延长时间而用到的技术,延迟输出(字符串先发送到缓冲区需要时在输出到浏览器),是一种输出技巧。最常见的应用是静态化技术(可以实现静态缓存):
把要输出代码的先保存到缓存区在用ob_get_contents();取得内容写入文件
php ob_start 与 ob_end_flush() 是 php 的缓冲输出函数。
ob_start([string output_callback])- 打开输出缓冲区,所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息。
ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区。
php 输出东西,会保存在一个 php 维护的内存里,称为 buffer 也行,缓存也行,都是一个意思。然后当这个 buffer 满了,php 会自动往 web server 发送这些数据。
也就是说每次 echo,并不一定会输出东西,而是保存在 buffer 里。
ob_start() 的意思,可以理解为(但是实际上和我下面的说法有区别),这个 buffer 由 ob_ 系列函数来来控制,也就是,PHP 不会维护自己的 buffer,不会自动把buffer 的内容自动发送到 web server,直到你 ob_end() 或者类似的 ob 操作。
ob_函数一般用来捕获当前的输出,跟效率是没什么关系的。至于为什么捕获输出,原因很多,例如我捕捉输出,缓存到一个文件里,下次请求就可以直接读这个 cache 文件的内容作为输出了。
代码如下 | 复制代码 |
ob_start(); 2 内容 3 echo ob_get_contents() ; |
例子
代码如下 | 复制代码 |
<?php //打开缓冲区 ob_start(); ?> php页面的全部输出 <?php //取得php页面输出的全部内容 $content = ob_get_contents(); //创建一个文件,并打开,准备写入 $fp = fopen(“1.html”, “w”); //把php页面的内容全部写1.html fwrite($fp, $content); fclose($fp); ?> |
而缓存是一个很大的概念,一般用来解决大型网站高负载问题,像下面雨中漫步讲的 就是一种缓存技术的实现,当然除了内存缓存还有文件、页面缓存,比如想uchome 中系统配置变量,一般不需要改变的设置生成文件是文件缓存,用到这些数据直接通过读取文件读取而不直接从数据库读取,这些都是为了避免再次查询数据减轻访问压力问题而设置的。
网上关于 PHP 缓存类的资料很多,不过这个类应该是我见过功能满足需求,但又无比简洁的一个。废话不多说,直接看代码吧!
使用说明:
1、实例化
代码如下 | 复制代码 |
$cache = new Cache(); |
2、设置缓存时间和缓存目录
$cache = new Cache(60, '/any_other_path/');第一个参数是缓存秒数,第二个参数是缓存路径,根据需要配置。
默认情况下,缓存时间是 3600 秒,缓存目录是 cache/
3、读取缓存
代码如下 | 复制代码 |
$value = $cache->get('data_key');4、写入缓存 $value = $cache->put('data_key', 'data_value');完整实例: $cache = new Cache(); //从缓存从读取键值 $key 的数据 //如果没有缓存数据 <?php //cache constructor, optional expiring time and cache path //returns the filename for the cache //creates new cache files with the given data, $key== name of the cache, data the info/values to store //returns cache for the given key |
发送HTTP请求:
代码如下 | 复制代码 |
$client = new Zend_Http_Client(); $client->setUri($url); $client->setConfig(array('maxredirects' => 1)); $response = $client->request(); if ( $response->isRedirect() ) { echo "设置了转发"; } else { echo "没有设置转发"; } |
在这里如果不设置maxredirects参数,Zend默认的最大跳转数为5。就是在每次请求的时候,如果该地址设置了转发,他会读取转发到的新地址,然后再对这个地址发起请求。循环做这个操作,直至新地址没有设置转发或者循环超过了5次才会返回最后一次的请求数据。
这样的话,如果我只想获取某个域名是否设置了转发,那么就必须设置下maxredirects这个参数了。
•Zend Framework代码:
代码如下 | 复制代码 |
public function request($method = null) if ($method) { // Make sure the adapter is loaded // Send the first request. If redirected, continue. return $response; |
php代码
代码如下 | 复制代码 |
<?php $fruits = array ( |
上面是英文是没有问题,如果是中文就会有问题,解决办法如下
Json 只支持 utf-8 编码,我认为是前端的 Javascript 也是 utf-8 的原因。
代码如下 | 复制代码 |
<?php echo json_encode($array); |
结果
代码如下 | 复制代码 |
{"title":"u8fd9u91ccu662fu4e2du6587u6807u9898","body":"abcd..."} |
利用js来分析这个函数
代码如下 | 复制代码 |
$(function(){ |
注意在你的php输出js格式时我们必须是header('Content-type: text/json');这样的头部信息发送哦。
后面加一个完整的可解析中文乱码的问题程序
代码如下 | 复制代码 |
<?php $array = array
|
代码如下 | 复制代码 |
<?php //两个数组的并集 $arr1 = array('a','b','c','d','e','f'); //$arr2 = array('a','a','e','a','p','a','a','e'); $arr2 = array('a','a','a','a'); $ilength = count($arr1); $jlength = count($arr2); /** * 两个数组的交集 * @param array $arr1 * @param array $arr2 * @autho zhaoya * @return array $arr */ function jiaoji($arr1,$arr2) { $ilength = count($arr1); $jlength = count($arr2); for($i=0;$i<$jlength;$i++) { for($j=0;$j<$ilength;$j++) { if($arr2[$i] == $arr1[$j]) { $arr[] = $arr2[$i]; break; } } } return $arr; } $arr3 = array(1,10,10,5,90,50,90); $arr4 = array(10,23,50,100,110,80); echo '<pre>'; $time1 = microtime(); /*$arr3 = __deleterepeat($arr3); $arr4 = __deleterepeat($arr4); $arr5 = bingji($arr3,$arr4); $arrsort = sort_array($arr5);*/ ///经过实验证明 先并集,然后在去除重复值 ,再排序,这样的速度会快一些 ///而先删除 两个数组的重复值,在并集,在排序的话,这样的速度慢点 $arr5 = bingji($arr3,$arr4); $arr5 = __deleterepeat($arr5); $arrsort = sort_array($arr5); $time2 = microtime(); echo $time1,'<hr>'; echo $time2,'<hr>'; echo $time2-$time1; print_r($arrsort); //去除重复值(第一种方法) //__deleterepeat($arr2); /** * 去除重复值(第一种方法) * @param array $array * @return array $tmparr * @author zhaoya */ function __deleterepeat($array) { $count = count($array); for($i = 0;$i<$count;$i++) { $change = false; for($j=$i+1;$j<$count;$j++) { if($array[$i] == $array[$j]) { $change=true; break; } } if($change==false) { $tmparr[] = $array[$i]; } } return $tmparr; } //去除重复的值 第二种方法 $arrayshift = _delrepeat($arr2); $tmparray=array(); /*** * 去除一维数组重复的值 * @param array $arr * @return array $tmparray; * @author zhaoya */ function _delrepeat($arr) { for($i=0;$i<count($arr);$i++) { if(inarray($arr[$i],$tmp)) { $tmparray[] = $arr[$i]; } } return $tmparray; } /** * 查找变量是否在这个数组里面 * @param integer $num * @param array $arr * @author zhaoya * @return boolean * */ function inarray($num,$arr) { if($arr) { for($i=0;$i<count($arr);$i++) { if($arr[$i] == $num) { return false; } return true; } } return true; } /** * 两个数组的并集 * @param array $arr1 数组1 * @param array $arr2 数组2 * @author zhaoya * @return array $arr1 */ function bingji($arr1,$arr2) { $ilength = count($arr1); $jlength = count($arr2); for($i=0;$i<$jlength;$i++) { $change=false; for($j=0;$j<$ilength;$j++) { if($arr2[$i] == $arr1[$j]) { $change = true; break; } } if($change == false) { $arr1[] = $arr2[$i]; } } return $arr1; } /** * 数组排序 从小到大 * @param array $arr 数组 * @author zhaoya * @return array $arr */ function sort_array($arr) { $length = count($arr); for($i=0;$i<$length;$i++) { for($j=$i+1;$j<$length;$j++) { if($arr[$i] > $arr[$j]) { $tmp = $arr[$i]; $arr[$i] = $arr[$j]; $arr[$j] = $tmp; } } } return $arr; } ?> |
相关文章
- 这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
用js的document.write输出的广告无阻塞加载的方法
一、广告代码分析很多第三方的广告系统都是使用document.write来加载广告,如下面的一个javascript的广告链接。复制代码 代码如下:<script type="text/javascript" src="http://gg.5173.com/adpolestar/5173/;ap=2EBE5...2014-06-07- PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
- 当页面打开时我们需要执行一些操作,这个时候如果我们选择使用jquery的话,需要重写他的3中方法,自我感觉没什么区 别,看个人喜好了,第二种感觉比较简单明了: 第一种: 复制代码 代码如下: <script type="text/javas...2014-06-07
- 这篇文章主要介绍了解决IDEA插件市场Plugins无法加载的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-21
- 距离 Vue 3.0 正式版发布已经有一段时间了,关于vue3组件库相关的问题还是挺多人感兴趣的,这篇文章主要给大家介绍了关于vue3如何按需加载第三方组件库的相关资料,需要的朋友可以参考下...2021-06-02
- index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
- 如果我们要在Android应用APP中加载html5页面,我们可以使用WebView,本文我们分享两个WebView加载html5页面实例应用。 实例一:WebView加载html5实现炫酷引导页面大多...2016-09-20
解决vue动态路由异步加载import组件,加载不到module的问题
这篇文章主要介绍了解决vue动态路由异步加载import组件,加载不到module的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27PHP中func_get_args(),func_get_arg(),func_num_args()的区别
复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04- AngularJS 通过路由支持多视图应用, 可以根据路由动态加载所需的视图, 在 AngularJS 的文档中有详细的介绍, 网上也有不少教程, 就不用介绍了!随着视图的不断增加,js文件会越来越多,而 AngularJS 默认需要把全部的js都一次性...2015-10-21
- 本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。 当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点...2013-10-13
- 这篇文章主要介绍了Angular性能优化之第三方组件和懒加载技术,对性能优化感兴趣的同学,可以参考下...2021-05-11
- 本篇文章主要介绍了ThinkPHP+jquery实现“加载更多”功能代码,以实例代码讲诉了加载更多的代码实现,非常具有实用价值,需要的朋友可以参考下 ...2017-03-13
- 这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
- 这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
- 这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
这篇文章主要介绍了jQuery Easyui使用之可折叠面板动态加载无效果的解决方案,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧...2016-08-24ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31- 这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13