随笔分类 -  PHP

摘要:1.如何将zendstudio9的默认GBK编码设置为其它编码,例如UTF-8? 选择window菜单->Preferences->General->Workspace,在界面当中找到“Textfileencoding”选中Other,在下拉列表中选择UTF-8就可以了。这样所有的建立的项目将使... 阅读全文
posted @ 2013-07-11 18:53 洒洒 阅读(354) 评论(0) 推荐(0) 编辑
摘要:在编程时我们常会使用到i++和++i,那两者之间有什么区别呢,本教程就为大家详细介绍一下。 1、++i 的用法(以 a=++i ,i=2 为例) 先将 i 值加 1 (也就是 i=i+1 ),然后赋给变量 a (也就是 a=i ), 则最终 a 值等于 3 , i 值等于 3 。 所以 a=++i 相当于 i=i+1 ,a=i 2、i++ 的用法(以 a=i++ ,i=2 为例) 先将 i 值赋给变量 a (也就是 a=i ),然后 i 值加 1 (也就是 i=i+1 ), 则最终 a 值等于 2 ,i 值等于 3 。 所以 a=i++ 相当于 a=i , i=i+1 3、... 阅读全文
posted @ 2013-07-09 21:07 洒洒 阅读(538) 评论(0) 推荐(0) 编辑
摘要:http://www.shenyubao.com/?p=31 阅读全文
posted @ 2013-06-22 23:17 洒洒 阅读(240) 评论(0) 推荐(0) 编辑
摘要:1.进制转换函数:<?php function decto_bin($datalist,$bin) { static $arr=array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'); if(!is_array($datalist)) $datalist=array($datalist); if($bin==10) return $datalist; //相同进制忽略 $bytelen=ceil(16/$bin); //获得如果是$bin进制,一. 阅读全文
posted @ 2013-06-19 23:20 洒洒 阅读(306) 评论(0) 推荐(0) 编辑
摘要:编码综述: php并不是采用什么编码的问题, 而是你要输出的编码问题你把php写成u8/gb2312它都可以正常使用, 区别在于, 在chr里得到的是什么, chr虽然可以返回一个编码大于127的字符, 但是这并不意味着php可以正常解析u8/gb2312, 一个汉字在GB2312中由两个字节组成, 也就是FFFF, 而在u8里是FFFFFF, 而chr只拿到了第一个FF, 也就是255, 它并不能直接得到任何汉字的直接编码而实际上ASCII和GB2312是兼容的, 这也是为什么chr可以正常取值的原因, 因为chr并不是为了可录入的字符串取值的, 它可以安全用于任何的二进制编码, 包括图像文 阅读全文
posted @ 2013-06-19 22:46 洒洒 阅读(295) 评论(0) 推荐(0) 编辑
摘要:1.单引号内的$name这样的变量不会被解析,双引号的则会。(即:单引号里的字符串是什么就输出什么)<?php$name = 'zhangsan';$str = 'He is $name';echo $str;?>输出:He is $name如果换成双引号,则输出:He is zhangsan 阅读全文
posted @ 2013-06-19 22:02 洒洒 阅读(242) 评论(0) 推荐(0) 编辑
摘要:使用phpmailer三步骤:1.环境开启socket;2.下载phpmailer;3.require('class.phpmailer.php')。代码:<?phprequire 'class.phpmailer.php';$mail = new PHPMailer;$mail->IsSMTP(); // Set mailer to use SMTP$mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup ser... 阅读全文
posted @ 2013-05-24 10:58 洒洒 阅读(1257) 评论(0) 推荐(0) 编辑
摘要:sendmail相关文件解释和配置文件详解:http://zhumeng8337797.blog.163.com/blog/static/100768914201161312010697/sendmail故障:http://www.gongzi.org/centos-mail-nosendmail.... 阅读全文
posted @ 2013-05-22 10:10 洒洒 阅读(4117) 评论(4) 推荐(0) 编辑
摘要:PHP 5.4中的traits,是新引入的特性,中文还真不知道如何准确翻译好。其实际的目的,是为了有的场合想用多继承,但PHP又没多继承,于是就发明了这样的一个东西。 Traits可以理解为一组能被不同的类都能调用到的方法集合,但Traits不是类!不能被实例化。先来例子看下语法: <?phptrait myTrait{ function traitMethod1(){} function traitMethod2(){}}//然后是调用这个traits,语法为:class myClass{ use myTrait;}//这样就可以通过use myTraits,调用Tra... 阅读全文
posted @ 2013-05-16 09:59 洒洒 阅读(7770) 评论(3) 推荐(4) 编辑
摘要:assert(): assert这个函数在php语言中是用来判断一个表达式是否成立。返回true or false;例如<?php$s = 123;assert("is_int($s)");?> 从这个例子可以看到字符串参数会被执行,这跟eval()类似。不过eval($code_str)只是执行符合php编码规范的$code_str。assert的用法却更详细一点。assert_option()可以用来对assert()进行一些约束和控制;默认值ASSERT_ACTIVE=1 //Assert函数的开关ASSERT_WARNING =1 //当表达式为fals 阅读全文
posted @ 2013-05-15 10:47 洒洒 阅读(2724) 评论(0) 推荐(0) 编辑
摘要:GMP是The GNU MP Bignum Library,是一个开源的数学运算库,它可以用于任意精度的数学运算,包括有符号整数、有理数和浮点数。它本身并没有精度限制,只取决于机器的硬件情况。 本函数库能处理的数值范围只到长整数与倍浮点数的范围。若要处理超过上述范围的数值,要使用 bc 高精确度函数库 。本函数库定义了圆周率的常量 m_pi 值为 3.14159265358979323846。函数:abs: 取得绝对值。 acos: 取得反余弦值。 asin: 取得反正弦值。 atan: 取得反正切值。 atan2: 计算二数的反正切值。 base_convert: 转换数字的进位方式。... 阅读全文
posted @ 2013-04-27 23:10 洒洒 阅读(7687) 评论(0) 推荐(1) 编辑
摘要:由于Zend optimizer只支持php5.2和之前的,但是现在centos下安装的是php5.3,所以得安装ZendGuardLoader了。一、下载: 在zend网站上找到ZendGuardLoader下载地址,然后:wget ZendGuardLoader地址。二、解压: tar -zxvf 文件名三、加载ZendGuardLoader: 将ZendGuardLoader.so文件移动到php的modules目录下, 因为ZendGuardLoader.so是编译好的模块文件,所以无需安装,直接加载即可, 在php配置文件里/etc/php.ini里添加如下两行:zen... 阅读全文
posted @ 2013-04-14 00:08 洒洒 阅读(2851) 评论(0) 推荐(0) 编辑
摘要:/*** 获得用户的真实IP地址** @access public* @return string*/function real_ip(){static $realip = NULL;if ($realip !== NULL){return $realip;}if (isset($_SERVER)){if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])){$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);/* 取X-Forwarded-For中第一个非un 阅读全文
posted @ 2013-04-13 23:55 洒洒 阅读(423) 评论(0) 推荐(0) 编辑
摘要:区别: magic_quotes_gpc的设定值将会影响通过Get/Post/Cookies获得的数据;不能在代码中开启或者关闭;在php.ini中设置magic_quotes_gpc=1; magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询得到的数据;可以在代码中开启或者关闭;在php.ini或者代码中设置magic_quotes_runtime=1; magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的\'\"\\加上反斜线。可以用get_magic_quotes_gpc()检测系统设置 阅读全文
posted @ 2013-04-13 22:38 洒洒 阅读(350) 评论(0) 推荐(0) 编辑
摘要:一、表单1,上传文件的表单使用post方式;还要加上enctype='multipart/form-data'。2,一般要加上隐藏域:<inputtype=hiddenname='MAX_FILE_SIZE'value=dddddd>,位置在file域前面。value的值是上传文件的客户端字节限制。据说可以减少文件超标时客户端的等待时间,不过我没觉得有什么区别。3,file域是不许赋值的(无value="")。二,文件上传错误代码预定义变量$_FILES数组有5个内容:$_FILES['userfile'][ 阅读全文
posted @ 2013-03-21 13:05 洒洒 阅读(3992) 评论(0) 推荐(0) 编辑
摘要:Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。但是现在的一些论坛程序,和部分文章系统,都巧妙的使用heredoc技术,来部分的实现了界面与代码的准分离,phpwind模板就是一个典型的例子。 1.以<<<End开始标记开始,以End结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。开始标记和开始标记相同,比如常用大写的EOT、EOD、EOF来表示,但是不只限于那几个,只要保证开始标记和结束标记不在正文中出现即可。 2.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则 阅读全文
posted @ 2013-03-20 23:30 洒洒 阅读(321) 评论(0) 推荐(0) 编辑
摘要:单引号更快。 1.在php中,单引号内的数据不会被解析(任何变量和特殊转义字符),所以速度更快,而双引号内的数据会被解析,如变量($var)值会代入字符串中,特殊转义字符也会被解析成特定的单个字, 2.数组中,如果下标不是整型,而是字符串类型,请务必用单引号将下标括起,正确的写法为$array[‘key’],而不是$array[key],因为不 正确的写法会使PHP解析器认为key是一个常量,进而先判断常量是否存在,不存在时才以“key”作为下标带入表达式中,同时出发错误事件,产生一条 Notice级错误。 阅读全文
posted @ 2013-03-20 23:20 洒洒 阅读(1989) 评论(0) 推荐(0) 编辑
摘要:1.PHP数组枚举$array = array(1,2,'0'=>3,4,5,'2'=>6);foreach($array AS $i){ echo $i;}输出 3 、2 、6 、5 1 和 4 被 重置 1 是被 key 等于 0 覆盖 所以 value 为 2 的 key 为 1 4 又被 key 为 2 的元素 覆盖 value 为 5 的 key 为 3 阅读全文
posted @ 2013-03-19 23:55 洒洒 阅读(163) 评论(0) 推荐(0) 编辑
摘要:使用五种以上方式获取一个文件的扩展名: 要求:dir/upload.image.jpg,找出 .jpg 或者 jpg , 必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如 get_ext1($file_name), get_ext2($file_name)function get_ext1($file_name){return strrchr($file_name, '.');}function get_ext2($file_name){return substr($file_name, strrpos($file_name, '.' 阅读全文
posted @ 2013-03-18 23:35 洒洒 阅读(589) 评论(0) 推荐(0) 编辑
摘要:Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。 输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。 我们先举一个简单的例子,让大家对Output Control有一个大致的印象: Example 1. 复制代码 代码如下:ob_start(); //打开缓冲区 echo "Hellon"; //输出 //header("location:index.php" 阅读全文
posted @ 2013-03-18 17:27 洒洒 阅读(3742) 评论(0) 推荐(0) 编辑