PHP
小虎哥-技术博客
只要努力,没有达到不了的地方
展开
-
前台内容显示经常会产生的存储型XSS高危漏洞
比如:评论功能,在用户回复时输入 <details open ontoggle=alert(1)> ,提交后会弹出下图,原因就是没有对内容输出做html实体化处理。用 htmlentities 函数,把一些字符转换为 HTML 实体。原创 2023-09-08 11:06:18 · 210 阅读 · 0 评论 -
PHP网站在Iframe登录无效,cookie跨域session失效导致
在网站B的session_start();或 Session::start();在网站A中使用iframe里访问网站B时,一直登录失效,原因是cookie跨域失效。原创 2023-09-05 17:12:01 · 646 阅读 · 0 评论 -
PHP正则表达式匹配html标签之间内容
假设网页内容如下:{eyou:arclist orderby='sort_order' row='8' subday='30' titlelen='42'} <a href="{$field.arcurl}">{$field.title}</a>{/eyou:arclist}{eyou:sql sql='xxxxxxxx'} <span>不支持sql标签</span>{/eyou:sql }{eyou:arclist orde原创 2021-10-06 09:19:28 · 2116 阅读 · 0 评论 -
简单的分类数据表实现无限极列表展示
最终效果图数据表结构:CREATE TABLE `ey_arctype` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '分类ID', `pid` int(10) DEFAULT '0' COMMENT '分类上级ID', `topid` int(10) DEFAULT '0' COMMENT '顶级分类ID', `name` varchar(200) DEFAULT '' COMMENT '分类名称', `grade` ti...原创 2021-08-17 10:28:13 · 378 阅读 · 0 评论 -
php数字转汉字的函数算法
php数字转汉字的函数/*********************数字转汉字***********************/function del0($num) //去掉数字段前面的0{ return "".intval($num);}function n2c($x) //单个数字变汉字{ $arr_n = array("零","一"原创 2013-08-20 10:04:59 · 783 阅读 · 0 评论 -
Dede(织梦)发表文章时,内容自动添加关键字链接的方法-详解
操作步凑1、后台>系统>系统基本参数>核心设置>关键字替换(是/否),这里选择“是”。2、后台>系统>系统基本参数>其他选项>文档内容同一关键词替换次数(0为全部替换): 13、后台>采集>文档关键词维护, 在这里面设置关键词以及指向网址的链接。但是这里有个问题,这个只是在添加文章时,在 关键字: 一栏里填写的关键字才有链接,而文章里出现的其他"文档关键字"是不会被加上链接的。原创 2013-08-20 10:04:43 · 3563 阅读 · 0 评论 -
PHP字符函数大全
注意:这里只提供部分函数的使用方式,如有不懂可以复制函数名到百度搜索详情,谢谢!AddSlashes: 字符串加入斜线。 bin2hex: 二进位转成十六进位。 Chop: 去除连续空白。 Chr: 返回序数值的字符。 chunk_split: 将字符串分成小段。 convert_cyr_string: 转换古斯拉夫字符串成其它字符串。 crypt: 将字符串用 DES 编码加密。 e原创 2013-08-20 10:02:13 · 635 阅读 · 0 评论 -
php如何将获得的时间转换为北京时间
从php5.10开始,php中加入了时区的设置,在php中显示的时间都是格林威治标准时间,这就造成了我们中国的用户会差八个小时的问题!相关设置是修改php.ini中的 date.timezone 参数:[Date]; Defines the default timezone used by the date functions;date.timezone =默认是关闭的,只需把注释去掉原创 2013-08-20 10:01:52 · 1323 阅读 · 0 评论 -
PHP将整个网站生成HTML静态
用查找替换标签的方法是惯用的模板处理方法。通常用html文件做成一个模板,在需要替换变量的位置放置特别的标签,然后在PHP逻辑中用file_get_content把模板内容获取进来,在str_replace()的方法把变量的数据替换到指定的标签中,等输出浏览器的时候就可以合成一个完整的动态页面。用这种方法制作模板,PHP的变量数据不能直接传递给模板,需要通过查找替换标签的方法进行转换。所以遇到需要原创 2013-08-20 10:01:32 · 819 阅读 · 0 评论 -
PHP中SESSION不能跨页传递问题的解决办法
在PHP中使用过SESSION的朋友可能会碰到这么一个问题,SESSION变量不能跨页传递。这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题。我认为,出现这个问题的原因有以下几点: 1、客户端禁用了cookie 2、浏览器出现问题,暂时无法存取cookie 3、php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-trans-原创 2013-08-20 10:00:51 · 777 阅读 · 0 评论 -
解决关于php中文文件下载问题
以下功能是在php中判断下载文件是否存在(包括中文、英文等),不存在则提示,存在便以服务器上的原名称下载,当然也可以自定义名称。首先说明一点,网站目录如下:/....down.html....sphinx技术交流.zip....Lib ......download.php 当然如果对网站的相对路径和绝对路径理解比较熟悉的,可以不用了解这目录布局,直接看源程序。原创 2013-08-20 10:00:36 · 591 阅读 · 0 评论 -
Thinkphp二级网站地图XML生成的方法[图解]
在admin项目的Tpl目录下default目录里的SiteMap_index.html文件:网站地图生成XMLfunction clicktodosome(type){if(!window.confirm('确定要生成网站地图吗?')){ return; }var testDialog;testDialog = art.dia原创 2013-08-20 10:00:31 · 2823 阅读 · 0 评论 -
thinkphp中对数组元素进行分页显示
PHP模块代码:class NewsAction extends Action{public $page = ''; //分页,当前页数 function News(){ $list = M("News")->field('id,title')->where("status = 5")->findAll(); //分页 $list = $this-原创 2013-08-20 10:00:20 · 935 阅读 · 0 评论 -
php替换字符串中首个字符串[不重复替换]
利用正则表达式的方法替换字符串,并且只替换首个字符串,其余重复的不替换,可以利用这方法给文章关键词替换上连接/** +---------------------------------------------------------- * 只替换字符串中关键字一次 +------------------------------------------------------原创 2013-08-20 10:06:31 · 1372 阅读 · 0 评论 -
ECShop 2.5.1 的结构图及各文件相应功能介绍
因为自己的二次开发需要,特花时间对2.5.1的结构输出并把各文件的功能标记,先和大家一起分享 ECShop2.5.1_Beta upload 的目录 ┣ activity.php 活动列表 ┣ affiche.php 广告处理文件 ┣ affiliate.php 生成商品列表 ┣ article.ph原创 2013-08-20 10:03:14 · 1240 阅读 · 0 评论 -
PHP获取当前日期和时间格式化方法
使用函式 date() 实现 显示的格式: 年-月-日 小时:分钟:妙 相关时间参数: a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31" D - 星期几,三个英文字母; 如: "Fri" F - 月份,英文全名; 如: "January" h - 12 小时制的小时; 如: "01" 至原创 2013-08-20 10:02:02 · 761 阅读 · 0 评论 -
php随机数字代码/php随机产生数字实例
//seed用户自定义函数以微秒作为种子 function seed() { list($msec, $sec) = explode(' ', microtime()); return (float) $sec; } //播下随机数发生器种子,用srand函数调用seed函数的返回结果 srand(seed()); //输出产生的随机数,随机数的范围为10-100 echo rand(原创 2013-08-20 10:01:47 · 887 阅读 · 0 评论 -
探讨PHP页面跳转几种实现技巧
PHP被许多程序员用来开发WEB的首选语言。在实际开发中,网站的各项功能都可以通过PHP语言的编写来满足,比如PHP页面跳转这一方法。 Web系统中,从一个网页跳转到另一个网页,是LAMP项目中最常用的技术之一。页面跳转可能是由于用户单击链接、按钮等引发的,也可能是系统自动产生的。 此处介绍PHP中常用的实现页面自动跳转的方法。PHP页面跳转一、header()函数 heade原创 2013-08-20 10:01:42 · 620 阅读 · 0 评论 -
ThinkPHP和FCKeditor编辑器的完美结合
应用步骤:1、下载FCKeditor2.x版本,将解压后的文件夹FCKeditor复制到ThinkPHP文件夹下的Vendor目录下,以便符合 THinkPHP的第三方类库引入规则。2、修改参数:首先,用EditPlus等软件打开FCKeditor目录下的fckeditor_php5.php文件,找到第130行。出现内容如下:public function __construc原创 2013-08-20 10:01:37 · 727 阅读 · 0 评论 -
PHPMailer邮件类的使用教程及一个类
第一步:需要下载PHPMailer文件包phpmailer-1.73.tar.gz 来自开源社区: http://phpmailer.sourceforge.net/ 第二步:确认你的服务器系统已经支持socket 如下图,通过phpinfo();查看是否支持sockets 如果没有这一项就请注意: socket 是属于PHP扩展部分,编译时必须给定一个用于./configur原创 2013-08-20 10:01:17 · 859 阅读 · 0 评论 -
THinkPHP中文件下载
THinkPHP1.5中文件的下载 用到的系统类库文件是Http.class.php,位于ThinkPHP\Lib\ORG\Net目录下,类名Http,其中有静态方法static function download ($filename, $showname=”,$content=”,$expire=180);/ @param string $filename 下载文件名(原创 2013-08-20 10:00:46 · 785 阅读 · 0 评论 -
thinkphp检查上传文件时是否已存在
/** +---------------------------------------------------------- * 检查上传文件的目录里是否已存在同名的上传文件 +---------------------------------------------------------- * @static * @access p原创 2013-08-20 10:00:10 · 2087 阅读 · 0 评论 -
PHP配置环境更改wamp的www目录
主要过程:(1)修改httpd.conf文件(2)修改新的www目录下的index.php文件(3)修改manage.ini的278行和manage.tpl的125行我的WAMP2.0安装在E盘在,所以我的www目录是e:/wamp/www/,我想将它改为g:/www/第一步:就是照别人说的,修改httpd.conf文件DocumentRoot "e:/wamp/www/" 这一行改原创 2013-08-20 10:00:05 · 926 阅读 · 1 评论 -
解决ThinkPHP中以Get方式提交中文字符乱码
接触thinkPHP还没几天,都还没入门呢,因为公司项目非常着急,自己也对thinkPHP很有兴趣想借机会提高一下,就着急的用thinkPHP开始了,当然是遇到了非常多的问题,不过还好通过朋友gidot的帮助及网络还有官方的手册,基本都解决了。这几天又遇到个问题,就是GET提交中文会乱码的问题。在论坛看了下好像很多人都有而且也没个好的解决办法。数据库、页面编码、文件保编码这些全都是UTF8是100原创 2013-08-20 09:59:50 · 3075 阅读 · 0 评论 -
php中判断目录是否为空
//判断目录是否为空,true为空,false为不空function is_empty_dir($fp) { $H = @ opendir($fp); $i=0; while($_file=readdir($H)){ $i++; } closedir($H); if($i>2){ return false; }原创 2013-08-20 10:04:22 · 1225 阅读 · 0 评论 -
ECSHOP_布局参考图_模板结构说明(全面)
ECSHOP 模板结构说明名称类型备注(作用或意义)文件(目录)名可否更改images目录存放模板图片目录 不可更改library目录存放模板库文件目录不可更改screenshot.png 图片用于“后台管理原创 2013-08-20 10:03:25 · 972 阅读 · 0 评论 -
ecshop二次开发的简单快速入门教程
ecshop二次开发的简单快速入门教程,具体请下载文档 ecshop_dwt_lbi_详解.rar (106 KB) 下载次数: 9原创 2013-08-20 10:03:19 · 1365 阅读 · 0 评论 -
PHP中global和$GLOBALS[]的区别
很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然。根据官方的解释是1.$GLOBALS['var']是外部的全局变量本身2.global $var是外部$var的同名引用或者指针。举例说明一下:<?php $var1 = 1; $var2 = 2; function test(){原创 2013-08-20 10:02:28 · 587 阅读 · 0 评论 -
PHP中ereg 和ereg _replace的配合
$text = 'This is a {1} day, not {2} and {3}.';$daytype = array( 1 => 'fine', 2 => 'overcast', 3 => 'rainy' );while (ereg ('{([0-9]+)}', $text, $regs)) { $found原创 2013-08-20 10:02:23 · 767 阅读 · 0 评论 -
PHP日期时间函数
PHP的日期时间函数date()1,年-月-日echo date('Y-m-j');2007-02-6echo date('y-n-j');07-2-6大写Y表示年四位数字,而小写y表示年的两位数字;小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。echo date('Y-M-j');2007-Feb-6echo date('Y-m-d');2007-02-0原创 2013-08-20 10:01:57 · 696 阅读 · 0 评论 -
thinkphp清空所有目录(包括子目录)
在admin项目的Common目录下common.php文件:/*** 删除xml目录下的所有xml文件* string $fp 文件路径(不包括文件名)* string $fn 文件名称(包括扩展名)* boolean $type 是否关联到所有子目录*/function delXML($type=true,$fn='',$fp='./xml'原创 2013-08-20 10:00:26 · 800 阅读 · 0 评论 -
thinkphp中判断远程及非远程文件是否存在
//判断远程文件是否存在 /* 函数:remote_file_exists 功能:判断远程文件是否存在 参数: $url_file - 远程文件URL $flag - true为判断远程文件,false为判断非远程文件 返回:存在返回true,不存在或者其他原因返回false */ static function remote_file_原创 2013-08-20 10:00:15 · 1335 阅读 · 0 评论 -
Smarty模板中如何使用get,post,request,cookies,session,server变量
{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量。例如,直接在模板中访问页面请求变量、获取访问模板时的时间戳、直接访问PHP中的常量、从配置文件中读取变量等。1.在模板中访问页面请求变量我 们可以在PHP脚本中,通过超级全局数组$_GET、$_POST、$_REQUEST获取在客户端以不同方法提交给服务器的数据,也可原创 2013-08-20 09:59:35 · 772 阅读 · 0 评论 -
php中自动提取文章内容关键字seo优化网站的函数方法
利用discuz的基础条件实现文章内容自动提取关键字,进而优化网站内链的函数方法方法一:此方法提取的关键字比较接近function getkey($contents){ // $rows = strip_tags($contents); $arr = array(' ',' ',"\s", "\r\n", "\n", "\r", "\t", ">", "“", "”",""原创 2013-08-20 10:06:26 · 1469 阅读 · 0 评论 -
php检查上传文件是否已存在或同名
//检查上传文件的目录里是否已存在同名的上传文件function searchFile($path,$file){ $file_array=array(); //存放文件名数组 $folder_array=array(); //存放目录名数组 $all_array=array(); //存放全部路径的数组 if(is_dir($path)){ //检查文件目录是否存原创 2013-08-20 10:04:27 · 1790 阅读 · 0 评论 -
php 获取指定目录下的所有文件名和路径(包括子目录)
获取指定目录下的所有文件名和路径,同时也包括子目录在内的所有文件 /** * 获取指定目录下的文件列表 * string $path 指定的目录,默认为当前目录 * string $exten 文件扩展名带前面的点(.txt),默认显示全部文件 * string $ifchild 是否显示子目录文件列表,默认不显示 */ function openpath($原创 2013-08-20 10:04:17 · 1837 阅读 · 0 评论 -
....智能的列表分页,两行代码轻松实现....
智能的列表分页,两行代码轻松实现,简单易用使用方法:1、Conn.php文件是连接数据库2、test.sql文件是数据库,需要导入数据库中3、ListPage.php文件是实现列表分页在ListPage.php文件中//-------调用分页函数,获取返回值-------$pagenav = _page_list("test",3);然后在所要显示分页的地方打印返回值即行(可以在循环列表的上方或下原创 2013-08-20 10:03:30 · 807 阅读 · 0 评论 -
ECshop新手入门模板制作教程[转载]
授人以鱼 不如授人以渔, EC就算做再多的模板,肯定也满足不了我们的需要,更何况各行有各行的门道,EC统一做出来的模板也不一定合适于我们这个行业用,因此,只有我们真正掌握了自己做模板,修改模板的功夫,才能真正的打造适合自己的电子商务平台,真正打造符合自己行业内的客户习惯的电子商务平台。申明:偶第一次写这样的东东,如有写的不对的地方,请各位大虾斧正。然后怎么安装啊,使用啊。。。等等等的都有很多超级真原创 2013-08-20 10:03:09 · 1636 阅读 · 1 评论 -
PHP5 字符串处理函数大全
php5字符串处理函数小结,对于使用php的朋友经常用得到的一些函数。方便查找使用。addcslashes — 为字符串里面的部分字符添加反斜线转义字符 addslashes — 用指定的方式对字符串里面的字符进行转义 bin2hex — 将二进制数据转换成十六进制表示 chop — rtrim() 的别名函数 chr — 返回一个字符的ASCII码 chunk_split — 按一定的字原创 2013-08-20 10:02:18 · 620 阅读 · 0 评论 -
PHP中字符串操作入门教程
论哪种语言,字符串操作都是个重要的基础,往往是简单而重要。正像人说话相同,一般有形体(图像界面),有语言(print 字符串?),显然字符串能解释更多的东西。PHP提供了大量的字符串操作函数,功能强大,使用也比较简单.以下将简单的讲述他的功能和特性。 弱类型 PHP是弱类型语言,所以其他类型的数据一般能直接应用于字符串操作函数里,而自动转换成字符串类型,进行处理,如:echo原创 2013-08-20 10:02:08 · 637 阅读 · 0 评论