随笔分类 - PHP
网站语言
摘要:function rand_array($n){ $array=range(1,$n); shuffle($array); return $array;}
阅读全文
摘要:定义和用法shuffle() 函数把数组中的元素按随机顺序重新排列。若成功,则返回 TRUE,否则返回 FALSE。注释:本函数为数组中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成。语法shuffle(array)参数描述array必需。规定要使用的数组。例子 "Dog", "b" => "Cat", "c" => "Horse");shuffle
阅读全文
摘要:语法range(first,second,step)参数描述first必需。规定数组元素的最小值。second必需。规定数组元素的最大值。step可选。规定元素之间的步进制。默认是 1。注释:该参数是 PHP 5 中加入的。说明该函数创建一个数组,包含从 first 到 second (包含 first 和 second)之间的整数或字符。如果 second 比 first 小,则返回反序的数组。例子 1输出:Array([0] => 0[1] => 1[2] => 2[3] => 3[4] => 4[5] => 5)例子 2输出:Array([0] =&g
阅读全文
摘要:echochunk_split(base64_encode(file_get_contents('base64.txt'))); 例子 1本例分隔每个字符,并添加 ".":输出:H.e.l.l.o. .w.o.r.l.d.!.例子 2本例将在六个字符之后分割一次字符串,并添加 "...":输出:Hello ...world!...
阅读全文
摘要:针对apache,支持mode_rewrite可以通过在目录先建立.htaccess去掉url中index.php.htaccess内容如下:RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-f #这个重要,保证css,js正常加载RewriteCond $1 !^(index\\.php|images|robots\\.txt)RewriteRule ^(.*)$ /index.php/$1 [L]然后找到application/config/config.php文件:将$config['index_page']="
阅读全文
摘要:$http_type=((isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS']=='on')||(isset($_SERVER['HTTP_X_FORWARDED_PROTO'])&&$_SERVER['HTTP_X_FORWARDED_PROTO']=='https'))?'https://':'http://';
阅读全文
摘要:函数说明:array glob ( string $pattern [, int $flags ] )功能:寻找与模式匹配的文件路径,返回包含匹配文件(目录)的数组(注:被检查的文件必须是服务器系统的,不能用于远程文件)参数说明:第一个参数:匹配模式;第二个可选参数:GLOB_MARK - 在每个返回的项目中加一个斜线GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式GLOB_NOESCAPE - 反斜线不转义元字符GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b
阅读全文
摘要:之前写了一篇文章关于linux下apache虚拟主机配置,配置那是相当简单:ServerAdmin admin@example.comDocumentRoot /var/www/html/blogServerName blog.phpddt.comErrorLog /var/log/httpd/bl...
阅读全文
摘要:收集php利用正则过滤各种标签,空格,换行符的代码:查看代码打印01$str=preg_replace("/\s+/"," ",$str);//过滤多余回车02$str=preg_replace("//si","",$str);//注释04$str=preg_replace("//si","",$str);//过滤DOCTYPE05$str=preg_replace("//si","",$str);//过滤html标签06$str=pr
阅读全文
摘要:PHP中的有个非常好的函数:nl2br(),将文本框中的换行转换为HTML页面的,但是如何实现将html中的换行符转换为文本框中的换行符呢?下面这几个方法将能够帮你解决这个问题。PHP版将html中的换行符转换为文本框中的换行符:查看代码打印1functionbr2nl($text){2returnpreg_replace('//i','',$text);3}或者:查看代码打印1functionbr2nl($text){2$text=preg_replace('//i',chr(13),$text);3returnpreg_replace(
阅读全文
摘要:php header()函数的具体作用是向客户端发送一个原始 HTTP 标头[Http Header]到客户端。标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔。在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高的版本中,您可以使用输出缓存来解决此问题)。下面举一些比较常见的header用法示例:(1)使用header实现重定向(等价于代替用户在地址栏输入url)。查看代码打印1查看代码打印01三秒后自动跳转';08/*09说明:若等待时间为0,则与header(&quo
阅读全文
摘要:抽象类的应用就是典型的模版模式抽象类的应用就是典型的模版模式,先声明一个不能被实例化的模版,在子类中去依照模版实现具体的应用。我们写这样一个应用:银行计算利息,都是利率乘以本金和存款时间,但各种存款方式计算利率的方式不同,所以,在账户这个类的相关方法里,只搭出算法的骨架,但不具体实现。具体实现由各个子类来完成。01interest = getInterestRate();10//用于计算利息的算法:本金*利率,但是利率的算法实现并没有在这个类中实现11$this->interest =$this->getFund() *$this->getInterestRate();12r
阅读全文
摘要:可以理解为对抽象类的扩展抽象类继承另外一个抽象类时,不用重写其中的抽象方法。抽象类中,不能重写抽象父类的抽象方法。这样的用法,可以理解为对抽象类的扩展。下面的例子,演示了一个抽象类继承自另外一个抽象类时,不需要重写其中的抽象方法。01抽象类在被继承后,其中的抽象方法不能被重写。如果发生重写,系统会报错。01程序运行结果:1Fatal error: Can't inheritabstractfunctionUser::setSal() (previously declaredabstractin VipUser) in E:\PHPProjects\test.php on line 14
阅读全文
摘要:平台描述:Windows下,使用PHP套件 xampp,因为是测试玩,所以没在服务器 Linux 环境中配置。1. 首先,将 nginx.conf 中的PHP配置注释去掉。01# pass the PHP scripts to FastCGI server listening on 127.0.0.1:900002#03#location ~ \.php$ {04# root html;05# fastcgi_pass 127.0.0.1:9000;06# fastcgi_index index.php;07# fastcgi_param SCRIPT_FILENAME /scripts$fa
阅读全文
摘要:1. 文件访问控制利用 httpd.conf 中的 Order、Files 及 FilesMatch 命令实现的访问控制可以满足大部分要求,但是当用户被拒绝时,他们看到的是硕大的“403 Forbidden”,如果你不想伤害用户的感情,就需要显示一些别的东西,通过Rewrite就可以实现这个特性:1RewriteEngine On2RewriteCond %{REQUEST_FILENAME} !^(.+)\.css$3RewriteCond %{REQUEST_FILENAME} !^(.+)\.js$4RewriteCond %{REQUEST_FILENAME} !special.zip
阅读全文
摘要:1. 将 .htm 页面映射到 .php1Options +FollowSymlinks2RewriteEngine on3RewriteRule ^(.*)\.htm$ $1.php [NC]如果正则不是很熟悉,可以参考下《正则表达式入门》。一些注意事项:该RewriteRule能够将.htm静态页面映射到.php动态页面。如果通过.htm进入,浏览器地址栏显示的是.htm扩展名,但服务器上实际执行的是.php。必须保证服务器上有对应的.php,否则会404。浏览器和搜索引擎可以同时通过.htm和.php访问网页。如果该目录上存在.htm,将被忽略。[NC]表示“不区分大小写”。2. 临时重
阅读全文
摘要:Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等。本文将针对mod_rewrite和URL匹配的技术细节,以及RewriteCond与RewriteRule 指令格式进行探讨。Rewirte模块内部处理Rewirte模块的内部处理极为复杂,但是为了使一般用户避免犯低级错误,也让管理员能充分利用其功能,在此仍然做一下说明。Rewirte模块API阶段首先,你必须了解Apache是分若干阶段来处理HTTP请求的。Apache API对每个阶段都提供了一个hook程序。mod_rewrite使用两个ho
阅读全文
摘要:Apache的Mode Rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。在大多数情况下,它和.htaccess文件配合使用。就是说,.htaccess文件的一个主要功能是用来重写URL请求,那么在本小节里,我们来看看如何实现重写。mod_rewrite实现所有这些神奇功能的模块叫做mod_rewrite,请确保你的服务器安装并启用了该模块:1sudo a2enmod rewrite我们一般会把所有涉及URL重写或者重定向的代码这样放置:12# Turn on rewrite engine3Options +FollowSymlinks4RewriteEngine
阅读全文
摘要:require('./db.class.php');$DB = new db();$DB->connect();//数据库链接header("Content-Type: text/csv");header("Content-Disposition:filename=php100.csv");$sql = "select order_sn,consignee,address,tel,mobile,email,order_amount,add_time from order_info";//查询数据$order =
阅读全文
摘要:很多时候我们会看到这样的代码(出自 CI 框架源码):1$class=& load_class('a','b');我们都知道其中的'&'是指引用,但是它的作用是什么呢?它能够解决什么样的问题呢?带着这些问题,我们开始了解下“引用返回”。引用返回手册里是这么写的:引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。不要用返回引用来增加性能,引擎足够聪明来自己进行优化。仅在有合理的技术原因时才返回引用!要返回引用,使用此语法:01value;07}08}0910$obj=newfoo;11// $myValue is a re
阅读全文