随笔分类 - PHP
摘要:匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。结合array_walk和匿名函数来实现一个结算功能array_walk() 函数对数组中的每个元素应...
阅读全文
摘要:周末梳理了下这段时间看书的一些知识点,进步的过程不仅要实践,还要安排多看书、思考、总结。只针对知识点进行了罗列和简单说明,很多细节还未整理好,待后面再专门详细写。基础易忽略概念PHP是一个支持面向对象开发的语言,而不是一个纯面向对象的语言PHP5中保留了对var的支持,但会将var自动转换为publ...
阅读全文
摘要:你写了一个PHP脚本,一般都不用考虑内存泄露和垃圾回收的问题,因为一般情况下你的脚本很快就执行完退出了。但在一些运行时间长,数据量大的时候,程序运行一段时间后,php脚本就占用了过多内存,然后就报错(PHP Fatal error: Allowed memory size of 134217728 ...
阅读全文
摘要:http_build_query(array$formdata[,string$numeric_prefix] )使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。参数formdata可以是数组或包含属性的对象。一个formdata数组可以是简单的一维结构,也可以是由数组...
阅读全文
摘要:file_get_contents版本: 1 /** 2 * 发送post请求 3 * @param string $url 请求地址 4 * @param array $post_data post键值对数据 5 * @return string 6 */ 7 function send...
阅读全文
摘要:虽然接触php比较长时间,但有时在使用一些基础东西的时候还会有些不确定,有些疑惑。面向对象涉及到的比较多,大概总结整理一下php的属性、对象,以及访问方式$this $parent self 的使用场景。1. PHP类属性定义和访问方式: 1 tConst; //无错误,无输出 9 ...
阅读全文
摘要:在PHP中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file、file_get_contents之类的函数,简简单单的几行代码就能 很漂亮的完成我们所需要的功能。但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法。需...
阅读全文
摘要:array_flip(array);//传递一个数组参数,对该数组的键、值进行翻转例如:$a = array( 'a', 'b', 'c');print_r(array_flip($a));//输出为:Array( [a] => 0 [b] => 1 [c] =>...
阅读全文
摘要:关于PHP中empty()、isset() 和 is_null() 这三个函数的区别,之前记得专门总结过,上次又被问到,网上已经很多,就用几个例子来说明:测试用例选取:用var_dump()分别输出如下:empty()bool(true)bool(true)bool(true)bool(true)b...
阅读全文
摘要:好久没写技术博客,最近研究产品关于用户体验方面较多,加上项目突然比较多,设计原型、跟进开发、设计师等工作着实没时间写博客。 接下来技术上主要php深入学习和mysql优化。这两天看了关于sql注入方面的知识,拿出来分享一下 :) 登录注入 先看一个我们一般用的登录页面sql语句(原生态php执行的sql)$sql = "select * from users where username = '$username' and password = '$password'"; 对于这种sql,对应一个万能密码和用户名: 万能密码: xx'
阅读全文
摘要:适配器设计模式只是将某个对象的接口适配为另一个对象所期望的接口。适配器设计模式的目标是有助于面向对象的代码,该模式可以为对象接口创建回话。通过实例说明: 1 /* 2 在项目最初的代码库中,名为errorObject的对象能够处理所有错误的消息和代码。直接将消息输入至控制台: 3 */ 4 5 class errorObject{ 6 private $__error; 7 8 pubic function __construct($error){ 9 $this->__error = $error;10 }11 12 publi...
阅读全文
摘要:遍历文件夹下的所有文件和子文件夹: <?phpfunction my_dir($dir){ $files =array(); if($hand = opendir($dir)){ while(($file = readdir($hand)) != false){ if($file != ".." && $file != '.'){ if(is_dir($dir ."/" .$file)){ $files[$file] = my_dir($dir ."/" .$file); ...
阅读全文
摘要:最简单的Web部件和最复杂的在线电子商务Web站点具有一个共同点:它们都要处理数据。大量的编程都设计数据的访问和操作。随着Internet的发展、脸颊存储设备应用数据的大量增长、对分析论的更深入理解以及对数据访问的更大期待,数据以更加有趣和独特的方式受到影响。数据访问设计模式的目的是帮助构造出能够容易地处理素有这些数据的对象。数据访问对象设计模式描述了如何创建提供透明访问任何对象源的对象。数据访问对象设计模式的目的是结局一下两种特定的问题:重复与数据源抽象化。我们应当创建一个数据访问对象设计模式的对象。这个数据访问对象封装了创建sQL调用、减少实例创建的复杂性和重复以及更新进程的智能方...
阅读全文
摘要:通过PHP获取前一天的时间,格式为2011-01-01 12:00:00 获取系统当前时间应用date()函数,但是要获取前一天的时间,那么就要先借助时间戳函数strtotime()来获取前一天的时间戳,然后再通过date()函数对前一天的时间戳进行格式化输出: 1 <?php 2 echo date('Y-m-d H:i:s' , strtotime('-1 day')); 3 4 5 //或者: 6 7 $yest = time() - (24*60*60); 8 echo date('Y-m-d H:i:s',$yest); 9 10
阅读全文
摘要:偶然间在图书馆看见这本书,名字很吸引人,果然不错,许多细节以前没在意,但是确实值得注意一下。先分享一下Web设计页面的内容。可能对比较独到的程序员来说比较弱智,不过只针对可以对那些有帮助的程序猿而言分享一下学习的经验:通过form表单控制上传文件的大小: enctype="multipart/form-data",指定表单编码数据方式 ethod="",指定数据传输方式 <input type="hidden" name="MAX_FILE_SIZE" value="1000" />
阅读全文
摘要:永远不要认为自己学的已经够了,人的一生就是一个不断学习的过程。 虽然接触PHP已经有些时日了,但是我知道自己对PHP的掌握应该还是皮毛阶段,大部分是环境的因素,在这里由于任务的原因也没过多的时间去专研深入的东西,另外一方面原因就是个人,是因为自己没有深入探索的精神,很多人多有这样的毛病,学习比较浮躁,学到的只是一些肤浅的知识。例如学习PHP,对,你是可以做出一个完整的网站了,但是仔细想想,你学的真的够了吗?再看看网上的那些大牛们,我们的程度和人家又相差千里,自己如果再不反省,只知道在自己的领域中得到满足,这样的生活状况,我想可能永远得不到自己想要的,达不到自己的目标。 好了,感慨是有,...
阅读全文
摘要:Smarty是一个使用PHP写出来的PHP模板引擎,目的是要使用PHP程序同美工分离,使的程序员改变程序的逻辑内容时不会影响到美工的页面设计,美工重新修改页面时不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。(也易于程序的多样式开发)Smarty优点 1. 速度快:相对其他模板引擎。 2.编译型:采用smarty编写的程序在运行时要编译成一个非模板技术的PHP文件 3 缓存技术:它可以将用户最终看到的HTML文件缓存成一个静态的HTML页 4. 插件技术:smarty可以自定义插件。不适合使用smarty的地方 1. 需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新..
阅读全文
摘要:元字符在正则表达式内部具有的独特含义:字符名字含义^补字符号指示字符串的开始$美元符号指示字符串的结尾.句点任意单个字符|竖线二中选一(或) 用法: 'a|b':匹配包含a或b的字符串 '^a':匹配以a开头的任何字符串 '$a': 匹配以a结尾的任何字符串 '^a$':只匹配a量词规定某个字符可以或必须出现的次数:字符含义?0次或1次*0次或多次+1次或多次{x}正好出现x次{x,y}在x次和y次之间(含x和y){x,}至少出现x次类别是把字符串防止在方括号[]内创建的:字符串类别是用于定义模式的更灵活的工具:类别含义[a-z]
阅读全文
摘要:使用PHP进行用户认证的方式有三种:HTTp认证、使用session、使用cookie。 使用php进行http认证: 是通过结合header()函数和$PHP_AUTH_USER、$PHP_AUTH_pw全局变量的方法来创建的一个基本认证机制。 一个简单的PHP脚本可以通过发送适当的HTTP头以在客户机屏幕自动显示用户名/口令对话框以模拟HTTP认证请求/响应系统。 1 <?php 2 if((!isset($PHP_AUTH_USER)) || (!isset($PHP_AUTH_PW))) 3 { 4 header('WWW-Authenticate:Basic re...
阅读全文
摘要:本篇主要写了在PHP中编写web应用程序的一些技巧,包括一些表单的验证,web应用程序的安全性等。针对服务器设置调整行为: ini_get()函数可以检验某些脚本是否打开,如ini_get('Magic Quotes'), ini_set()函数只是改进PHP应用程序的可移植性的一种方式,其方法是,使脚本依据服务器特有的信息采取不同的行为。 eg: 打开PHP的display_errors设置: ini_set('display_errors',1);检查服务器配置:function_exists() 返回true或false,以指示某个函数是否存在于PHP安装
阅读全文

浙公网安备 33010602011771号