1、strip_tags功能:去掉HTML及PHP的标记。语法:stringstrip_tags(stringstr);返回值:字符串说明:本函式可去掉字符串中包含的任何HTML及PHP的标签。若是字符串的HTML及PHP标签原来就有错,例如少了大于的符号,则也会传回错误。注意:遇到提炼文字内容是,会出现 这样的空格是无法通过上面的行数替换掉,这个时候需要单独使用str_replace进行特定替换 2、htmlspecialchars功能:将特殊字元转成HT...
继续阅读 >
分类目录归档:全部列表
2015
01-27
01-27
PHP使用CURL函数获取HTTPS网页及POST数据示例
functionvpost($url,$data){//模拟提交数据函数$curl=curl_init();//启动一个CURL会话curl_setopt($curl,CURLOPT_URL,$url);//要访问的地址curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);//对认证证书来源的检查curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,1);//从证书中检查SSL加密算法是否存在curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);//模拟用户使用的浏...
继续阅读 >
2015
01-27
01-27
PHP实现重定向的三种实现方式
一、用PHP的header函数也就是用PHP的header函数。PHP里的header函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type:xxx/xxx"),页面的属性("Nocache","Expire")等等。用HTTP头信息进行PHP重定向到另外一个页面的方法如下:<?php$url="www.yaojinbu.com";if(!empty($url)){header("HTTP/1.1303SeeOther");//这条语句...
继续阅读 >
2015
01-27
01-27
PHP 程序员编程技巧汇总
为了方便快速编写代码,创建了这个公开库。旨在提高编写效率和编写质量,避免多次google一样的代码。这是一个在线公开笔记,也是一个提高自己能力的文档,会收集大量优秀的代码片段。贡献方式:fork项目,然后推送给我创建issuses,我会及时处理贡献要求在对应文件夹内创建单独文件(推荐)或在文件夹内README.md中直接扩充文件内容不宜过大,最好控制在百行以内如果是多个片段一个归属类,最好只创建一个文件代码质量要...
继续阅读 >
2015
01-27
01-27
在 Ubuntu 12.04 LTS 中将 PHP 从 5.3 升级到 5.5
在Ubuntu12.04LTS中,使用sudoapt-getinstallphp5-fpm安装的PHP版本是PHP5.3,如果想要使用Yii2或者Laravel框架,则PHP版本至少是5.4+,所以要升级。升级步骤初始化操作:sudoapt-getupdatesudoapt-getinstallpython-software-properties更新PPA源:sudoadd-apt-repositoryppa:ondrej/php5如果只是想升级到5.4,则执行如下命令:sudoadd-apt-repositoryppa:ondrej/php5-oldstable接下来执行更新和升级:su...
继续阅读 >
2015
01-27
01-27
HTML5 History API 实现无刷新更新地址栏URL
History是有趣的,不是吗?在之前的HTML版本中,我们对浏览历史记录的操作非常有限。我们可以来回使用可以使用的方法,但这就是一切我们能做的了。但是,利用HTML5的HistoryAPI,我们可以更好的控制浏览器的历史记录了。例如:我们可以添加一条记录到历史记录的列表中,或者在没有刷新时,可以更新地址栏的URL。为什么介绍HistoryAPI?在这篇文章中,我们将了解HTML5中HistoryAPI的来源。在此之前,我们经常使用散列值来...
继续阅读 >
2015
01-27
01-27
js本地存储解决方案——localStorage与userData
WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的userData,Firefox下面的globalStorage,以及Flash的本地存储,除了Flash之外,其他的几个都有一些兼容性的问题。sessionStorage与localStorageWebStorage实际上由两部分组成:sessionStorage与localStorage。sessionStorage用于本地存储一...
继续阅读 >
2015
01-27
01-27
CSS 强制换行和超出隐藏实现
一、强制换行word-break:break-all;只对英文起作用,以字母作为换行依据。word-wrap:break-word;只对英文起作用,以单词作为换行依据。white-space:pre-wrap;只对中文起作用,强制换行。word-break:break-all和word-wrap:break-word都是能使其容器如div的内容自动换行,它们的区别在于:1、word-break:break-all假设div宽度为450px,它的内容就会到450px自动换行,如果该行末端有个很长的英文单词,它会把单词截断...
继续阅读 >
2015
01-27
01-27
AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据
由于受到浏览器的限制,ajax不允许跨域通信。如果尝试从不同的域请求数据,会出现安全错误。如果能控制数据驻留的远程服务器并且每个请求都前往同一域,就可以避免这些安全错误。但是,如果仅停留在自己的服务器上,Web应用程序还有什么用处呢?如果需要从多个第三方服务器收集数据时,又该怎么办?理解同源策略限制同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。也就是说,受到请求的URL的域必须与当前...
继续阅读 >
2015
01-27
01-27
CSS中设置margin:0 auto; 水平居中无效的原因分析
很多初学制作网页的朋友,可能会遇到的一个常见问题,就是在CSS中加了margin:0auto;却没有效果,不能居中的问题,margin:0auto;的意思就是:上下边界为0,左右根据宽度自适应,其实就是水平居中的意思,在这里说两个典型的错误引起的不能居中的问题:1、没有设置宽度<divstyle="margin:0auto;"></div>看看上面的代码,根本没有设置DIV的宽度,如何根据宽度自适应呢?新手比较容易忽略的问题。2、没声明DOCTYPE1)DOCTYPE...
继续阅读 >
2015
01-27
01-27
Yii框架中使用CHtmlPurifier过滤文本内容防止XSS攻击
1、在控制器中使用:publicfunctionactionCreate(){$model=newNews;$purifier=newCHtmlPurifier();$purifier->options=array('URI.AllowedSchemes'=>array('http'=>true,'https'=>true,),'HTML.Allowed'=>'div',);if(isset($_POST['News'])){$model->attributes=$_POST['News'];$model->attributes['content']=$purifier...
继续阅读 >
2015
01-27
01-27
Yii中后台使用session防止重复提交及灌水
1、从前端的角度:增加遮罩2、从后端的角度:使用session$session=Yii::app()->session;$user_id=Yii::app()->user->id;$sessionKey=$user_id.'_is_sending';if(isset($session[$sessionKey])){$first_submit_time=$session[$sessionKey];$current_time=time();if($current_time-$first_submit_time<10){$session[$sessionKey]=$current_time;$this->response(array('status'=>1,'...
继续阅读 >
2015
01-27
01-27
Ubuntu中安装启用Redis以及对应PHP扩展安装
使用apt-get安装在LinuxUbuntu中安装Redis数据库#安装Redis服务器端~sudoapt-getinstallredis-server安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序#检查Redis服务器系统进程~ps-aux|grepredis#通过启动命令检查Redis服务器状态~netstat-nlt|grep6379#通过启动命令检查Redis服务器状态~sudo/etc/init.d/redis-serverstatus编译安装~wgethttp://download.redis.io/releases/redis-2.8.3.tar.gz...
继续阅读 >
2015
01-27
01-27
如何通过命令查看CURL慢在哪里?
很多时候使用CURL发现响应不够快,想优化。但是不知道到底是慢在哪里。下面这条命令就能帮你找到哪里慢,请自行把URL替换成需要测试的URL。curl-o/dev/null-s-w%{time_connect}:%{time_starttransfer}:%{time_total}结果:0.223:1.110:1.772计时器描述:time_connect建立到服务器的TCP连接所用的时间time_starttransfer在发出请求之后,Web服务器返回数据的第一个字节所用的时间time_total完成请求所用的时间...
继续阅读 >
2015
01-27
01-27
Linux下查看Nginx、Apache、MySQL、PHP的编译参数命令
Nginx/usr/local/nginx/sbin/nginx-VApachecat/opt/httpd/build/config.niceMySQLcat/usr/local/mysql/bin/mysqlbug|grepconfigPHP/usr/local/php/bin/php-i|grepconfig
继续阅读 >
2015
01-27
01-27
Redis批量删除多个key的命令
删除单个key比较简单,直接使用命令delxxx,批量删除多个keys可用下面的方法。假设redis的安装目录如下:/opt/redis/src/则首先进入到该目录,然后执行如下命令:./redis-clikeys"map_info_*"|xargs/opt/redis/src/redis-clidel删除成功之后,会显示删除成功的keys个数:(integer)26
继续阅读 >
2015
01-27
01-27
Linux下软链接和硬链接的创建、删除、区别详解
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存里,从而实现对文件的快速访问。链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(HardLink)和软链接(SoftLink),软链接又称为符号链接(Symboliclink)。符号连接相当于Windows下的快捷方式。一、硬链接...
继续阅读 >
2015
01-27
01-27
在Linux上配置Memcached输出日志方法详解
Memcached在linux上安装时并不支持显示地配置服务日志,我们如果想要把Memcached服务日志保存到日志文件中,则需要在启动参数中进行配置。安装好Memcached后,我们可以通过-h命令查看Memcached支持的参数:[root@localhost~]$/usr/local/memcached/bin/memcached-h#其余的省略-vverbose(printerrors/warningswhileineventloop)-vvveryverbose(alsoprintclientcommands/reponses)-vvvextremelyverbose(als...
继续阅读 >
2015
01-27
01-27
常用Apache日志分析命令大全
1、查看当天有多少个IP访问:awk'{print$1}'log_file|sort|uniq|wc-l2、查看某一个页面被访问的次数:grep"/index.php"log_file|wc-l3、查看每一个IP访问了多少个页面:awk'{++S[$1]}END{for(ainS)printa,S[a]}'log_file4、将每个IP访问的页面数进行从小到大排序:awk'{++S[$1]}END{for(ainS)printS[a],a}'log_file|sort-n5、查看某一个IP访问了哪些页面:grep^111.111.111.111log_file|...
继续阅读 >
2015
01-27
01-27
Yii2.0教程入门篇 —— 安装配置
说明:Yii2.0需要PHP5.4+版本下载&安装:使用Composer安装composerglobalrequire"fxp/composer-asset-plugin:1.0.0-beta4"composercreate-project--prefer-distyiisoft/yii2-app-basicbasic下载文件安装下载地址:http://www.yiiframework.com/download/或者从github下载最新版本:https://github.com/yiisoft/yii2解压下载到的压缩文件,进入apps/basic/config/web.php,修改cookieValidationKey://!!!insert...
继续阅读 >
2015
01-27
01-27
Yii2.0教程入门篇 —— 运行应用
应用框架:basic/应用根路径composer.json被Composer调用,描述包信息config/包含应用及其它配置console.php控制台应用配置web.phpweb应用配置commands/包含控制台命令类controllers/包含控制器类models/包含模型类runtime/包含Yii在运行时生成的文件,比如日志和缓存文件vendor/...
继续阅读 >
2015
01-27
01-27
Yii2.0教程入门篇 —— 测试实例
本章节讨论如何在应用中创建“Hello”页面创建Action在controllers/SiteController.php中:<?phpnamespaceapp\controllers;useyii\web\Controller;classSiteControllerextendsController{//...existingcode...publicfunctionactionSay($message='Hello'){return$this->render('say',['message'=>$message]);}}创建视图在views/site/say.php中:<?phpuseyii\helpers\Html;?><?ph...
继续阅读 >
2015
01-27
01-27
Yii2.0教程入门篇 —— 使用表单
创建Model:models/EntryForm.php<?phpnamespaceapp\models;useyii\base\Model;classEntryFormextendsModel{public$name;public$email;publicfunctionrules(){return[[['name','email'],'required'],['email','email'],];}}创建Action:<?phpnamespaceapp\controllers;useYii;useyii\web\Controller;useapp\models\EntryForm;classSiteControl...
继续阅读 >
2015
01-27
01-27
Yii2.0教程入门篇 —— 使用数据库
准备好数据库:新建一个数据库yii2basic,然后在其中创建一张表:CREATETABLE`country`(`code`CHAR(2)NOTNULLPRIMARYKEY,`name`CHAR(52)NOTNULL,`population`INT(11)NOTNULLDEFAULT'0')ENGINE=InnoDBDEFAULTCHARSET=utf8;INSERTINTO`country`VALUES('AU','Australia',18886000);INSERTINTO`country`VALUES('BR','Brazil',170115000);INSERTINTO`country`VALUES('CA','Canada',114700...
继续阅读 >