
PHP
ufojoan
这家伙不是一般的懒,简介都没有
展开
-
php 5.3.10 + CI3 PDO注入测试
基于这两篇文章在php 5.3.10 + CI3 环境下测试的结果http://zhangxugg-163-com.iteye.com/blog/1835721http://my.oschina.net/zxu/blog/163135db编码db连接编码db查询编码PDO::ATTR_EMULATE_PREPARES是否注入日志原创 2016-06-20 18:42:09 · 1043 阅读 · 0 评论 -
使用PHP的cURL库
使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库。本文主要讲述如果使用这个PHP库。 启用 cURL 设置首先,我们得先要确定我们的PHP是否开启了这个库,你可转载 2013-11-11 11:52:07 · 566 阅读 · 0 评论 -
PHP超时处理全面总结
作者:heiyeluren博客:http://blog.youkuaiyun.com/heiyeshuwu时间:2012/8/8 【 概述 】 在PHP开发中工作里非常多使用到超时处理到超时的场合,我说几个场景:1. 异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现2. 为了保证Web服务器不会因为当个页面处理性能差而导致无法转载 2013-11-11 11:51:20 · 756 阅读 · 0 评论 -
mysql的bigint类型与php的mysql_insert_id函数造成的bug
discuz做二次开发,有个bug让我头疼了2天。由于数据的需要把post表中的pid改为bigint(20)可是用$db->insert_id()取出来的不是刚刚插入的pid值,导致附件找不到对应的帖子 找了2天原因,后来在php手册看到: mysql_insert_id() 将 MySQL 内部的 C API 函数 mysql_insert_id() 的返回值转换成 l转载 2013-11-11 11:45:06 · 1822 阅读 · 0 评论 -
测试PHP的整型(integer)
测试代码:Test Boolean整数可以用十进制, 八进制, 十六进制, 科学计数法表示var_dump(16);echo('');var_dump(-16);echo('');var_dump(0x10);echo('');var_dump(-0x10);echo('');var_dump(020);echo('');转载 2013-11-11 11:44:23 · 1091 阅读 · 0 评论 -
php数据入库前清理 注意php intval与mysql int 类型区别
php保存数据到mysql 打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval。 有一天突然想起,php intval的取值范围与mysql的int类型一样吗? 查了一下,不一样…… http://php.net/manual/en/function.intval.phphttp://dev.mysql.com/doc/refman/5.转载 2013-11-11 11:43:48 · 1198 阅读 · 0 评论 -
PHP事务的使用方法
<?php//数据库连接$conn = mysql_connect('localhost', 'root', '');mysql_select_db('test', $conn);mysql_query("SET NAMES GBK");/*支持事务的表必须是InnoDB类型一段事务中只能出现一次:mysql_query('START TRANSACTION');//开始事务m转载 2013-11-11 11:38:39 · 543 阅读 · 0 评论 -
事务处理
MySQL5.X都已经发布好久了,但是还有很多人认为MySQL是不支持事务处理的,这不得不怪他们是孤陋寡闻的,其实,只要你的MySQL版本支持BDB或InnoDB表类型,那么你的MySQL就具有事务处理的能力。这里面,又以InnoDB表类型用的最多,虽然后来发生了诸如Oracle收购InnoDB等令MySQL不爽的事情,但那些商业上的斗争与技术无关,下面以InnoDB表类型为例简单说一下MySQL转载 2013-11-11 11:37:34 · 461 阅读 · 0 评论 -
PHP获取随机数
<?php $FileID=date("Ymd-His") . '-' . rand(100,999); //$FileID为 20100903-132121-908 这样的的随机数?><?phpfunction randomkeys($length){ $pattern='1234567890abcdefghijklmnopqrstuvwxyzABCDEFGH转载 2013-11-11 11:31:20 · 495 阅读 · 0 评论 -
cURL常用的几个PHP函数(转)
cURL是一个功能强大的PHP库,我们可以使用PHP的cURL采用GET、POST等方式发送请求,获取网页内容以及取一个XML文件并把其导入数据库等等。本文中收集了几种常用的PHP的cURL函数,以备使用。主要的有几个PHP函数用于:GET,POST,HTTP验证,302重定向,设置cURL的代理。1、开启PHP的cURL功能在Windows平台下,或者使用xampp之类的集成服务转载 2013-11-05 17:33:08 · 445 阅读 · 0 评论 -
PHP函数:CURL抓取网站内容的,支持301 302跳转
我们在抓取网站内容的时候,经常遇到稀奇古怪的防盗链,比如上次碰到一个站的图片地址是假的,访问后要301跳转一次才到真正的图片路径,这个真实的路径又做了防盗措施,判断referer是不是上个假的图片地址。用curl试了几次,终于整出一个函数,效果不错。$curl_loops = 0;//避免死了循环必备02$curl_max_loops = 3;03 04function转载 2013-08-21 10:50:53 · 1983 阅读 · 0 评论 -
cURL常用的几个PHP函数
cURL是一个功能强大的PHP库,我们可以使用PHP的cURL采用GET、POST等方式发送请求,获取网页内容以及取一个XML文件并把其导入数据库等等。本文中收集了几种常用的PHP的cURL函数,以备使用。主要的有几个PHP函数用于:GET,POST,HTTP验证,302重定向,设置cURL的代理。1、开启PHP的cURL功能在Windows平台下,或者使用xampp之类的集成服务转载 2013-08-21 10:49:48 · 614 阅读 · 0 评论 -
PHP时间戳函数总结一览
一,PHP时间戳函数获取指定日期的unix时间戳 strtotime(”2009-1-22″) 示例如下:echo strtotime(”2009-1-22″) 结果:1232553600说明:返回2009年1月22日0点0分0秒时间戳二,PHP时间戳函数获取英文文本日期时间 示例如下:便于比较,使用date将当时间戳与指定时间戳转换成系统时间(1)打印明天转载 2013-07-31 11:37:41 · 442 阅读 · 0 评论 -
PHP数据类型转换
PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:•(int)、(integer):转换成整形 •(float)、(double)、(real):转换成浮点型 •(string):转换成字符串 •(bool)、(boolean):转换成布尔类型 •(array):转换成数组 •(object):转换成对象 PHP数据类型有三种转换方式:•在要转换转载 2013-07-30 17:51:21 · 872 阅读 · 0 评论 -
关于zend studio 8的4空格替换tab
现在越来越多的人开始使用四个空格来替换一个tab。用python的时候普遍使用这个规范,现在开发PHP的人使用这个规范的也越来越多,现在介绍一下zend studio是如何实现tab转为4个空格的。下面是以zend studio9为示范的,也许适用于zend studio8:如果您是使用英文版,那么window -> perferences进去选项里面,中文请自己对照一下。转载 2013-07-30 17:50:25 · 1492 阅读 · 0 评论 -
PHP的curl实现get,post 和 cookie(几个实例)
类似于dreamhost这类主机服务商,是显示fopen的使用 的。使用php的curl可以实现支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传,kerberos、基于HTT格式的上传、代理、cookie、用户+口令证明、文件传送恢复、http代理通道就转载 2013-11-11 11:52:28 · 541 阅读 · 0 评论 -
php获取客户端IP地址的几种方法
$iipp=$_SERVER["REMOTE_ADDR"];echo $iipp;?>///////////////////////////////////////////////$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];$转载 2013-11-11 11:53:11 · 479 阅读 · 0 评论 -
哈希数组的头部增加一项
比如有这样一个数组$arr = array( 'a' => 'fasfas12', 'r23' => 'das2324', 'c33' => 'dasd');我如果要在它的末尾增加一项,那么我知道直接$arr['xxx'] = 'xxx'就可以了,在头部增加一项caozu转载 2014-05-30 10:50:05 · 610 阅读 · 0 评论 -
php 四舍五入 数学函数
round — 对浮点数进行四舍五入说明float round ( float val [, int precision])返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。Example123456转载 2014-05-30 10:56:32 · 719 阅读 · 0 评论 -
PHP的CI框架集成Smarty的最佳方式
本文我最先发表在了CI中国社区的论坛里了再COPY一份发这里来,也给大家看看,呵呵RT因为CI自带的模板功能不是很方便,所以大家普遍采用集成Smarty的方式来弥补CI这方面的不足。本人在网上看了不少CI集成Smarty的教程,包括咱们CI论坛里面的一个精华帖子http://codeigniter.org.cn/forums/forum.php?mod=vi转载 2014-05-29 18:22:41 · 535 阅读 · 0 评论 -
Zendstudio9 配置安装 zend debugger
Zendstudio9 配置安装 zend debuggerZendDebugger-5.2.14-cygwin_nt-i386.zip下载地址 http://dl.dbank.com/c0bmg4px8j1. 解压ZendDebugger-5.2.14-cygwin_nt-i386.zip2. 以下是压缩包内所有文件的列表:ZendDebugge转载 2014-05-30 10:45:21 · 620 阅读 · 0 评论 -
保留小数点后两位的方法
1. echo round($number,2);2. echo sprintf("%.2f", $a);3. 直接在数据库中设置数据类型为 decimal(28,2)PS: round是对float本身进行加工,如果float本身就符合你的精度要求,就不会有任何改变,所以你用round还是不行而sprintf则是对输出就是加工. 已经是字符串了, 想怎么弄就怎么弄转载 2014-05-30 10:39:20 · 5077 阅读 · 0 评论 -
使用php-fpm来发现执行慢的php文件
相信大家都想让自己的网站秒开,但很多时候根本就不知道怎么去优化的时候,对数据库和web都优化了,但网站打开还是那么的慢,就只能对程序入手了,我们可以通过php-fpm来查询 系统环境:lnmp1.php5.2的设置vi /etc/php-fpm.conf//默认秒为单位10s//日志文件/var/log/slow.log转载 2014-05-30 10:30:44 · 1926 阅读 · 0 评论 -
php中error_report函数的含义及各参数含义
首先要知道error_reporting()函数是用来设置错误级别并返回当前级别的。它有14个错误级别,如下:1 E_ERROR 致命的运行时错误。错误无法恢复过来。脚本的执行被暂停2 E_WARNING 非致命的运行时错误。脚本的执行不会停止4 E_PARSE 编译时解析错误。解析错误应该转载 2014-05-29 18:08:49 · 1411 阅读 · 0 评论 -
用unix socket加速php-fpm、mysql、redis的连接
图虫的服务器长期是单机运行。估计除了mysql之外,php-fpm和redis还可以在单机上共存很长时间。(多说服务器早就达成了单机每日2000万+动态请求,所以我对单机搞定图虫的大流量非常乐观) 如果是单机服务,其实就不需要用IP哪怕是127.0.0.1这样的IP去连接mysql/redis/php了,因为即使是127.0.0.1也是要走TCP/IP层的。 unix提供的un转载 2014-05-29 18:04:34 · 2650 阅读 · 0 评论 -
PHP_递归函数时return
最近在用PHP写一些设计模式的小例子,有大量的设计模式都会递归调用对象或者函数。有的时候需要返回处理状态,就会用到return。在JAVA中 只要在函数内部return就可以得到最后的结果。而在PHP中必须要在掉过递归函数的时候加上return才能正常使用。举个例子 0102/**03*这样的写法在调用时,当$i 04*/05function转载 2014-05-29 18:10:08 · 1231 阅读 · 0 评论 -
通过PHP current函数获取未知字符键名数组第一个元素的值
在开发中经常遇到这样问题,获取数组第一个元素的值,如果是数字索引那还好,直接$array[0],如果键名是字符串,你又未知这个字符串呢?用current()函数就可以做到关于current()函数:每个数组中都有一个内部的指针指向它“当前的”单元,初始指向插入到数组中的第一个单元。用current()获取。 类似函数: end() 将array的转载 2014-04-11 14:37:18 · 562 阅读 · 0 评论 -
PHP常用函数
isset函数是检测变量是否设置。格式:bool isset ( mixed var [, mixed var [, ...]] )返回值:若变量不存在则返回 FALSE 若变量存在且其值为NULL,也返回 FALSE 若变量存在且值不为NULL,则返回 TURE 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE如果已经使用 uns转载 2012-07-06 18:23:18 · 418 阅读 · 0 评论 -
PHP模拟守护进程
守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件,像C,python,java等语言都支持守护进程,到目前为止,PHP暂不支持守护进程,浏览器每发起一次访问请求时,web服务器调用PHP,PHP执行请求并返回结果后就关闭了,变量无法常驻内存的,虽然你也可以把变量存储到文件、Memca转载 2014-04-11 11:58:38 · 480 阅读 · 0 评论 -
关于生成订单号的解决方案PHP
关于生成订单号的解决方案电子商务及类电子商务的系统越来越多,我相信订单号问题是这类系统中最常见不过的一个问题了,但今天还是想谈谈。这几天由于工作需要接手了另外一同事前期开发的一个交易系统,原本使用的是uniqid()函数生成的。uniqid()是根据系统时间经过一定算法得到的一个结果,关于uniqid()的详情手册上很清楚。当时的生产方式是:$order转载 2013-11-11 11:56:07 · 900 阅读 · 0 评论 -
PHP 数组排序方法总结
随着PHP的快速发展,用它的人越来越多,在PHP数组学习摘录部分了解到最基本的PHP数组的建立和数组元素的显示。需要深入学习下PHP数组的相关操作。首先接触的就是PHP数组排序、降序的排序问题。sort:本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。 rsort:本函数对数组进行逆向排序(最高到最低)。 删除原有的键名而不仅是重新排序。 asort转载 2013-11-11 11:54:36 · 684 阅读 · 1 评论 -
php绝对路径与相对路径之间关系的的深入研究
php中好像不能像asp那样用“/”表示根目录,代之以$_SERVER['DOCUMENT_ROOT'],其它则相同:../表示向上一层。./表示当前层。假如现在a/b/c/s.php要调用根目录下的 /bb/s2.txt,则:$RootDir = $_SERVER['DOCUMENT_ROOT']; $fireDir = "$RootDir/bb/s2.txt";转载 2013-07-30 17:49:18 · 394 阅读 · 0 评论 -
php设置和获取cookie
setcookie('mycookie','value');//函数原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)echo($mycookie);echo($HTTP_COOKIE_VARS['mycookie']);echo($_COOKIE['m转载 2013-07-30 11:59:00 · 1178 阅读 · 0 评论 -
如何正确理解PHP include作用域
我们为大家总结的PHP include作用域的问题包括:PHP include作用域和函数、类的作用域等方面的问题。希望对大家有所帮助。 很多程序员在使用PHP语言进行实际编程时,通常只会关注PHP函数能实现什么功能,但是都不会去深入的了解这个函数的具体含义及隐含的问题。我们今天就为大家介绍PHP include作用域的相关问题。 注意:本文档基于include叙述,但也适用于转载 2013-05-23 11:52:15 · 517 阅读 · 0 评论 -
PHP数据库类的封装
我们经常使用数据库操作,如果把数据可的链接和操作写为一个类,将大大提高代码的重用性。一 数据库连接类创建数据库连接类文件:found.database.php,并存储与根目录下的conn文件中。数据库连接文件的代码如下:[php] view plaincopyclass ConnDB{ //数据库连转载 2013-05-23 11:51:46 · 712 阅读 · 0 评论 -
CentOS下安装及配置APC
APC主要有两个作用,一是将php的编译缓存保存在共享内存中,简单理解就是使用了APC以后,省去了需要每次将PHP源代码编译为PHP Opcode的时间,提高了性能,只要下次PHP源代码没有任何修改,则就不需要重新编译了。另一方面的作用是类似Memcached的功能,APC是将数据保存到共享内存中,Memcached也是将数据保存在内存中,不过Memcached支持分布式,而APC不支持分布式。转载 2012-08-31 16:51:35 · 698 阅读 · 0 评论 -
centos安装redis及php-redis扩展
今天公司同事要求在测试机上安装redis,并且要求让php安装上redis的扩展,redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集 合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上转载 2012-08-31 16:38:42 · 2021 阅读 · 0 评论 -
XHProf性能分析工具
XHProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开 关来控制是否进行profile。以下是记录和总结:安装xhprof:wget http://pecl.php.net/get/xhprof-0.9.2.tgztar zxf xhprof-0.9.2.tgzcd xhprof-0.转载 2012-08-31 14:12:16 · 525 阅读 · 0 评论 -
php 连接 oracle 环境配置(php5.3.10+oracle11客户端)
首先确认你已经安装有oracle 11g,下面是在装有oracle 11g的centos-6 64位配置php与oracle连接的事例。安装oracle即时客户端到这里http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html下载oracle-instantclient11.2-basic,oracl转载 2012-08-14 19:05:38 · 4451 阅读 · 0 评论 -
屏蔽错误提示
方法1:修改php.ini文件 改为: error_reporting = E_ALL & ~E_NOTICE display_errors = Off 方法2:在php文件开头写入:转载 2012-03-15 17:30:08 · 389 阅读 · 0 评论