标签 php 下的文章

用php更改非php输出内容

前几天有个需求,就是将页面输出的内容进行过滤… 进行域名更换… 比如本来将输出的www.csdn.net/image/上面的图片内容,现在迁移到了cdn上面,域名更改为cdn.csdn.net/image/ 再不更改模版的基础上,直接将输出进行修正… 实现过程 1.将所有输出放到output buffer里面 2.在php脚本结束后对output buffer进行修改过滤,再输出. so测试如下: 原输出假设是如下: 那么在输出html前,加入到php执行中如下代码即可进行html内容的替换 则输出变成 重点在于 1.ob_xxx函数 output buffer控制 2 ...

使用ob_gzhandler函数有3种方法让它对php进行压缩

减小代码在传输中的大小,就能提高页面的传输速度,打开网页也就快了。在一起PHP程序中 像WordPress是默认的gzip压缩功能是通过ob_gzhandler这个函数来实现的,ob_gzhandler是php 4.0.4新增的一个输出缓存函数,并通过gzip压缩后发送到客户端。这个函数需要zlib库支持,一般的虚拟主机都安装有这个库,所以很多blog都使用这个方法来实现对php页面的压缩。 那么对于我们这些没有开启mod_deflate模块的主机来说,就只能采用ob_gzhandler函数来压缩了,它的压缩效果和mod_deflate相比,相差很小,几乎可以忽略(但它只能对php文件进行压 ...

自己的路面板添加php扩展

屡次实验ssl都没有成功,怀疑是openssl的问题,于是就看看怎么安装的,安装问题是解决了,但是ssl还是没有用起来,郁闷中…… 下面是用自己的路(zijidelu)面板装php扩展的方法,此例为mysql。 1.下载LuNamp_last.tar.gz(如果本地已经存在LuNamp/code/php/php_extension.sh文件,则无需下载。如果是FreeBSD系统,请用fetch代替wget ): wget http://down4.zijidelu.org/projects/zijidelu-lunamp/files/LuNamp2.2/LuNamp_last.tar.gz 2.解压LuNamp_last.tar.gz:tar -zxvf LuNamp_last.tar.gz 3.进入LuNamp/code/php/目录:cd LuNamp/c ...

linux下php编译添加相应的动态扩展模块so

LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例) 网上我看到有很多相关的文章都是简述这个问题的,但毕竟因为LINUX版本众多,很多LIUNX命令或路径都有所差别,有时同样的命令却不能执行一样的操作。 这篇文章是我在实际运用当中配置成功的实例,希望对大家有所帮助,开源是来自每个人的无私帮助,每个人的成长都是需要别人的扶植!废话就说到这了! http://php.net/downloads.php (相应PHP版本下载) 1、首先确定LINUX下已安装的PHP版本,因为不同PHP版本对于追加动态模块有兼容性问题(可能路径,配置 ...

PHP演示最简单的MVC模式

为了更好的演示MVC的工作方式,我们使用了一个简单的新闻文章发布系统作为例子.分为使用MVC和不使用MVC两种方式. 我们只作一个基本的演示,从数据库里读出一些文章列表,并在页面上显示。一般的流程就是,连接数据库,查询数据库,循环输出html结果。下面的代码就是如此做的。(淡水感觉怪怪的,语言组织得不好。好在代码比较容易理解) News Articles 采 ...

如何卸载lnmp

killall nginx *//终止nginx进程
/etc/init.d/mysql stop *//关闭mysql
killall mysqld *//终止mysql进程
/usr/local/php/sbin/php-fpm stop *//关闭php
killall php-cgi *//终止php-cgi进程
rm -rf /usr/local/php *//删除php文件
rm -rf /usr/local/nginx *//删除nginx文件
rm -rf /usr/local/mysql *//删除mysql文件
rm -rf /usr/local/zend *//删除zend文件
rm /etc/my.cnf *//删除配置文件
rm /etc/init.d/mysql *//删除mysql文件
rm /root/vhost.sh *//删除配置虚拟主机脚本
rm /root/lnmp *//删除lnmp文件夹

[转]再谈PHP开发者常犯的10个MySQL错误

最近看到一篇文章:《PHP开发者常犯的10个MySQL错误》,发现文中不少内容陈旧,随着时间推移技术发展变化而变得不适用。为了防止误导新手,特本着与时俱进的精神写出此文,绝非对原文作者的不尊重。 1.使用MyISAM而不是InnoDB 完全错误,反驳理由: 首先原文说MyISAM是默认使用的,而实际上到了MySQL 5.5.x,InnoDB已经成为了默认的表引擎。 另外,简单的使用InnoDB不是解决所有问题的方法,盲目的使用甚至会使应用性能下降10%乃至40%。 最佳方法还是针对具体业务具体处理,例如论坛中版块表,新闻分类表,各种码表等长时间不操作的表 ...

[转]PHP开发者常犯的10个MySQL错误

新闻来源:cnw 数据库是Web大多数应用开发的基础。如果你是用PHP,那么大多数据库用的是MySQL也是LAMP架构的重要部分。PHP看起来很简单,一个初学者也可以几个小时内就能开始写函数了。但是建立一个稳定、可靠的数据库确需要时间和经验。下面就是一些这样的经验,不仅仅是MYSQL,其他数据库也一样可以参考。 1.使用MyISAM而不是InnoDB MySQL有很多的数据库引擎,单一般也就用MyISAM和InnoDB。 MyISAM 是默认使用的。但是除非你是建立一个非常简单的数据库或者只是实验性的,那么到大多数时候这个选择是错误的。MyISAM不支持外键的约束 ...

[转]output_buffering详细介绍

output_buffering详细介绍 HTTP Header 为什么要使用Output Buffering技术 Output Buffering的工作原理 基本用法 高级用法 使事情更为简单 哈哈,我成功了 我个人认为,Output buffering是比较纯粹的PHP4.0特征。尽管从概念上看来相当简单,但是output buffering功能非常强大,能使开发者更容易地开发高级而有效的程序。 本文将介绍HTTP header,以及output buffering如何帮助您处理HTTP header,并介绍了output buffering的一些高级用法。 HTTP Header[HTTP 标题] 对 于使用HTTP 协议建立的每个请求,Web服务器产生的响应通常包括两 ...

PHP 多维数组排序 根据二维数组中某个项排序(转)

比如有个多为数组: $arr = array( ‘d’ => array(‘id’ => 5, ‘name’ => 1, ‘age’ => 7), ‘b’ => array(‘id’ => 2,’name’ => 3,’age’ => 4), ‘a’ => array(‘id’ => 8,’name’ => 10,’age’ => 5), ‘c’ => array(‘id’ => 1,’name’ => 2,’age’ => 2) ); 需要对二维数组中的 age 项排序。 需要用到PHP的内置函数 array_multisort(),可以看手册。 自定义函数: function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){ if(is_array($multi_array)){ foreach ($multi_array a ...