• 妙用preg_replace_callback函数
    怎样妙用preg_replace_callback函数呢?下面就有达内的老是来为学员们介绍一下: 今天在迁移discuz数据的时候我们发现帖子里的content字段经常会有[attach]78[/attach]下面这些题选什么,为什么?  这样用[attach]的标签包括起来的数字,发现这个数字是代表这个帖子内容的附件的id,我们现在不需要找一个[attach]这个标签的内容了。需要把他替换掉。首先想到的使用正则把这样的数据替换成其他字符串例如“请查看附件”。想使用preg_replace 来替换,这个也能达到目的。但是后来我们有发现有些content字段里的内容他不只一对[attach]标签,有的有好几对[attach]标签,表示他有多个附件。接着用上面的preg_replace这个方法替换发现原content里有几对[attach]标签,替换后的结果就有几句“请查看附件”这样的字符串。这感觉非常不友好。想实现的结果,如果有多对[attach]标签,那么就替换一对为“请查看附件”,其他的都替换为空就行了。看会下php手册发现了这个函数preg_replace_callba…
    作者:七零 时间:2015-01-15 分类:PHP 评论:0条 浏览:2264次
  • php中的count在变量值为false或空字符或0等状态下结果为1
    php中的count在变量值为false或空字符或0等状态下结果为1
    作者:七零 时间:2015-01-13 分类:PHP 评论:0条 浏览:1854次
  • kindeditor 图片的宽设置问题
    翻了一下kindeditor 官网没有发现对上传图片的宽高做设置,稍微改进了 文件路径如下: kindeditorphpupload_json.php $str=getimagesize($tmp_name); $mode="/width="(.*)" height="(.*)"/"; preg_match($mode,$str[3],$arr); if($arr[1]>650){ alert('图片宽度最大允许650px,'); } 完整代码如下://有上传文件时if (empty($_FILES) === false) { //原文件名 $file_name = $_FILES['imgFile']['name']; //服务器上临时文件名 $tmp_name = $_FILES['imgFile']['tmp_name']; //文件大小 $file_size = $_FILES['imgF…
    作者:七零 时间:2015-01-13 分类:PHP 评论:0条 浏览:3145次
  • PHP中magic_quotes_gpc和 magic_quotes_runtime区别及其反斜线转义问题
    php中关于反斜线转义:php中数据的魔法引用函数 magic_quotes_gpc  或 magic_quotes_runtime     设置为on时,当数据遇到 单引号' 和 双引号" 以及 反斜线 NULL时自动加上反斜线,进行自动转义。注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。magic_quotes_gpc  和 magic_quotes_runtime二者的区别:magic_quotes_gpc作用范围是:WEB客户服务端;作用时间:请求开始的时候,例如当脚本运行时。magic_quotes_runtime此函数是该函数的别名: set_magic_quotes_runtime() 作用范围:从文…
    作者:七零 时间:2015-01-13 分类:PHP 评论:0条 浏览:1625次
  • PHP magic_quotes_gpc的正确处理方式
    大多的PHP程序,都有这样的逻辑:如果发现php.ini配置为不给GPC变量自动添加转义斜线,则PHP自动为GPC添加转义斜线但是事实上,这是错误的,因为它改变了GPC变量原来的值.有这个遗留习惯的原因是PHP程序使用往往配合mysql, 而mysql对特殊字符的转义,采取的是添加转义斜线,但是其它数据如mssql,oci呢,不一定是这样的.如果使用其它类型数据库,如mssql,oci,sybase 那么,给GPC添加转义斜线,更是个错误进一步,如果GPC数据不需要存入数据库,而保存到文件系统,或转发给其它程序呢?更是很严重的错误逻辑.所以,正确的做法是:1.PHP程序入口去掉转义斜线(若php.ini配置为自动添加转义斜线)2.在写入mysql时,使用mysql_real_escape_string而不是addcslashes来转义变量因为前者比后者更为安全(字符集相关的)db类中已考虑到这个问题,详情参阅db_mysql.class.php,搜寻mysql_real_escape_string目前有以下案例:积分商城的php.ini配置为自动添加转义斜线,用户提交的数据写入cook…
    作者:七零 时间:2015-01-13 分类:PHP 评论:0条 浏览:1640次
  • ThinkPHP中URL解析原理,以及URL路由使用教程!
    几个概念: THINKPHP 是一个MVC框架,使用PATHINFO解析出分组名,模块名,方法名,以及参数。 PATHINFO:就是 http://localhost/index.php/Home/Index/index/a/1/b/2?c=3中的红色部分,注意,c=3并不是pathinfo的一部分,它是一个query参数。PATHINFO指的是URL中的路径实际上不存在的时候,apache或nginx等通过一定的手段将这个不存在路径保存到环境变量 $_SERVER['PATH_INFO']中,也可以将它转化为$_GET['s']参数,TP也可以识别。也就是说当你访问THINKPHP项目的时候,你实际上访问的只是入口文件index.php ,不管你后面有多长的路径,都是实际不存在的,转化成PATHINFO或$_GET['s']了而已。 那么THINKPHP就是根据PATHINFO,从中提取出 分组名,模块名,方法名,以及将剩余的部分转化为$_GET变量,比如TP从PATHINFO字符串中提取'Home'字符串,将其保存到$_GET['g'] ,$_GET['m']='Index' ;…
    作者:七零 时间:2015-01-13 分类:PHP 评论:0条 浏览:2189次
  • PHP正则表达式参数 /i,/g,/ig,/gi,/m的区别和含义
    /i (忽略大小写)/g (全文查找出现的所有匹配字符)/m (多行查找)/gi(全文查找、忽略大小写)/ig(全文查找、忽略大小写)i 模式中的字符将同时匹配大小写字母m 字符串视为多行s 将字符串视为单行,换行符作为普通字符x 将模式中的空白忽略e preg_replace() 函数在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。A 强制仅从目标字符串的开头开始匹配D 模式中的 $ 元字符仅匹配目标字符串的结尾U 匹配最近的字符串u 模式字符串被当成 UTF-8 /i (忽略大小写) /g (全文查找出现的所有匹配字符) /m (多行查找) /gi(全文查找、忽略大小写) /ig(全文查找、忽略大小写) i 模式中的字符将同时匹配大小写字母 m 字符串视为多行 s 将字符串视为单行,换行符作为普通字符 x 将模式中的空白忽略 e preg_replace() 函数在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。 A 强制仅从目标字符串的开头开始匹配 D 模式中的 $ 元字符仅匹配目标…
    作者:七零 时间:2015-01-13 分类:PHP 评论:0条 浏览:2122次
  • ThinkPHP伪静态规则.htaccess与httpd.ini下隐藏index.php的解决方法
       什么是伪静态?简单说就是将动态的url变成静态的url显示,就叫做伪静态。“伪”就是假的,不是真的静态url,是通过技术手段实现的。用户只要开通无忧php虚拟空间就支持url重写功能,无需其它任何设置,我们使用伪静态的好处,就是可以优化网络引擎,提高网站权重。将网站静态化处理,是网站seo优化非常重要的一个工作。Thinkphp也可以通过技术手段,实现伪静态处理。 满足thinkphp伪静态(url重写)条件:        1、 服务器开启url_rewrite功能,linux空间的php虚拟主机只需要开启apache的mod_rewriet,如果是iis6.0就要安装ISAPI Rewrite模块,apache只要开启Mod_rewrite功能就可以了。        2、需要编写.htaccess文件,windows空间编辑httpd.ini文件。        本站在linux空间下编写的.htaccess文件采用Thinkphp官…
    作者:七零 时间:2015-01-13 分类:PHP 评论:0条 浏览:2390次
  • IIS使用ISAPI_Rewrite配置httpd.ini在URL中去掉index.php
     使用ThinkPHP开发的网站,通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。 Apache服务器的URL重写方法见  “ThinkPHP完全开发手册” 中的URL重写章节,此处不再赘述。 因为国内互联网应用服务提供商提供的服务器软件很多都是IIS,此处主要对IIS下使用httpd.ini配置文件去掉index.php进行介绍,如下方法经过验证: 1、修改项目配置文件"项目路径Confconfig.php",确保URL_MODEL设置为2。 2、配置httpd.ini,配置示例如下: [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 #如下为关键的地方,示例中Public、Rbac/Tpl/Admin/Public 下都有一些图片、CSS文件,如果不做排除,那么网页不能正常显示。如果您希望排除更多的目录…
    作者:七零 时间:2015-01-13 分类:PHP 评论:0条 浏览:1865次
  • .htaccess过滤隐藏index.php的url重写,同时保留css js等资源文件不被重写
    # Helicon ISAPI_Rewrite configuration file# Version 3.1.0.73RewriteEngine OnRewriteCompatibility2 OnRepeatLimit 32RewriteBase# unsupported directive: [ISAPI_Rewrite]# 3600 = 1 hour# unsupported directive: CacheClockRate 3600RewriteRule ^/httpd(?:.ini|.parse.errors).*$ / [NC,F,O]# # Line 5: (Unknown expression) RewriteEngine on# Protect httpd.ini and httpd.parse.errors files# from accessing through HTTPRewriteRule ^(?!/index.php)(?!/Public)(?!/Uploads)(?!/skin)(?!/js)(?!/robots.txt)(.*)$ /index.…
    作者:七零 时间:2015-01-13 分类:PHP 评论:0条 浏览:4751次
  • php include 妙用
    <?php //get content $cFile = file_get_contents('crypted.file'); //decrypt the content $content = decrypte($cFile); //include this include("data://text/plain;base64,".base64_encode($content)); //or include("data://text/plain,".urlencode($content)); ?> <?phpfunction include_all_once ($pattern) {    foreach (glob($pattern) as $file) { // remember the { and } are necessary!        include $file;    }}// used likeinclude_all_once('dir/*.php');…
    作者:七零 时间:2015-01-06 分类:PHP 评论:0条 浏览:1742次
  • php算数验证码
    <?phpsession_start();//生成验证码图片Header("Content-type: image/PNG");$im = imagecreate(74,28);$back = ImageColorAllocate($im, 255,255,255);imagefill($im,0,0,$back); //背景$red = ImageColorAllocate($im, 255,0,0); //字的颜色srand((double)microtime()*1000000);//生成4位数字/*for($i=0;$i<4;$i++){$red = ImageColorAllocate($im, 255,0,0);$authnum=rand(1,9);$vcodes.=$authnum;imagestring($im, 5, 2+$i*10, 1, $authnum, $red);}*/$aya = rand(11,99);$ayb = rand(1,99);$vcodes = $aya + $ayb;$authnum = $aya."+".$ayb."=?";i…
    作者:七零 时间:2015-01-04 分类:PHP 评论:0条 浏览:1974次
  • PHP错误提示的关闭方法详解
    关闭PHP错误脚本提示是程序上线了必须做的一件事情,就是不管程序怎么报错我们都不能让错误日志在服务器上给大家看到,下面我来总结两种关闭PHP错误脚本提示的具体方法 最简单的办法就是直接在php程序代码中加入下面代码: 复制代码 代码如下: error_reporting(E_ALL^E_NOTICE^E_WARNING); 可以关闭所有notice 和 warning 级别的错误。 把这个语句放在您脚本的功用包含文件中,通常为config.php 或者conn.php 中就可以控制输出了。 当然我也也可以在php.ini中进行设置了方法如下 打开PHP安装目录下的php.ini文件 找到display_errors = On 修改为 display_errors = off 注意:如果你已经把PHP.ini文件复制到windows目录下,那么必须同时把c:windows/php.ini里的display_errors = On 修改为display_errors = off PHP .ini中display_errors = Off失效的解决 问题: P…
    作者:七零 时间:2015-01-04 分类:PHP 评论:0条 浏览:1756次
  • FacesBaby php获取文件创建时间、修改时间
    filemtime ( string filename ) 返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix 时间戳的方式返回,可用于 date()。 例如:$a=filemtime("log.txt");            echo "修改时间:".date("Y-m-d H:i:s",$a); filectime ( string filename ) 返回文件上次 inode 被修改的时间,如果出错则返回 FALSE。时间以 Unix 时间戳的方式返回。 例如:$a=filectime("log.txt");            echo "创建时间:".date("Y-m-d H:i:s",$a); fileatime ( string filename ) 返回文件上次被访问的…
    作者:七零 时间:2015-01-04 分类:PHP 评论:0条 浏览:2352次
  • PHP如何关闭notice级别的错误提示
    1、在php.ini文件中改动error_reporting改为:error_reporting=E_ALL & ~E_NOTICE2、如果你不能操作php.ini文件,你可以使用如下方法在你想禁止notice错误提示的页面中加入如下代码:/* Report all errors except E_NOTICE */error_reporting(E_ALL^E_NOTICE);
    作者:七零 时间:2015-01-04 分类:PHP 评论:0条 浏览:1394次
  • php中输出回车/换行/制表符等转义字符
    总是碰到一些特殊字符需要转换,新手一开始还真不容易记住和识别,这里保存一下,方便大家判别,有待增加。。。 回车换行  横向跳到下一制表位置  竖向跳格  退格  回车  走纸换页 \ 反斜线符"" ' 单引号符  鸣铃 ddd 1~3位八进制数所代表的字符 xhh 1~2位十六进制数所代表的字符平台表示法:unix文本结束符只有:mac文本结束符只有:windows文本结束符:  注意: 很多人转载的文章中,把window文本结束符理解成:,那个错误的。
    作者:七零 时间:2015-01-04 分类:PHP 评论:0条 浏览:2928次
  • PHP混淆加密使用preg_replace隐藏eval
    $ss = base64_encode ( $string.';eval("echo time();");' );$h = 'eval(base64_decode("' . $ss . '"))';$func = 'preg_replace';$func ( "//e", $h, '' );
    作者:七零 时间:2015-01-04 分类:PHP 评论:0条 浏览:2360次
  • PHP经验——PHPDoc PHP注释的标准文档(翻译自Wiki)
    文档注释,无非“//”和“/**/”两种 ,自己写代码,就那么点,适当写几句就好了;但是一个人总有融入团队的一天,团队的交流不是那几句注释和一张嘴能解决的,还需要通用的注释标准。 PHPDoc是PHP文档注释的一个标准,可以帮助我们在注释文档时有规范,查看别人的代码时更方便。下面的表格是我翻译的WIKI上的PHPDoc,个人英文水平有限,可以参照原文。 文档翻译自:http://en.wikipedia.org/wiki/Phpdoc 标记 用途 描述 @abstract   抽象类的变量和方法 @access public, private or protected 文档的访问、使用权限. @access private 表明这个文档是被保护的。 @author 张三 <zhangsan@163.com> 文档作者 …
    作者:七零 时间:2014-12-09 分类:PHP 评论:0条 浏览:1801次
  • 压缩php代码
    <?php/** * @Author 70(QQ781787584) * * @link http://www.qiling.org * * @Copyright 2014-12-09 00:32:10 * */header ( "Content-type: text/html; charset=utf-8" );// $content = file_get_contents ( 'demo.php' );$content = file_get_contents ( __FILE__ );$result = token_get_all ( $content );// 遍历数组 使用指针$string = '';$space = false;// print_r($result);while ( current ( $result ) ) { $value = current ( $result ); if (is_string ( $value )) { // 去掉字符左侧的 空白 if ($space) { $string = rtrim ( $strin…
    作者:七零 时间:2014-12-09 分类:PHP 评论:0条 浏览:1867次
  • PHP获取当前类名、函数名、方法名
      PHP获取当前类名、方法名  __CLASS__ 获取当前类名  __FUNCTION__ 当前函数名(confirm)  __METHOD__ 当前方法名 (bankcard::confirm)   __FUNCTION__    函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。__CLASS__    类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。__METHOD__    类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。 注:这些常量前后均是两个下划线。 get_class(class name);//取得当前语句所在类的类名get_class_method…
    作者:七零 时间:2014-12-07 分类:PHP 评论:0条 浏览:1944次
首页 上一页 1 2 3 4 5 下一页 尾页 总117条,3/6页,每页20条
^