PHP数组基础学习知识 对于网页编程来说,最重要的就是存取和读写数据了。存储方式可能有很多种,可以是字符串、数组、文件的形式等,今天学习了数组,可以说是PHP的数据应用中较重要的一种方式。PHP的数组函数众多,下面是我学习的小结,借此记之,便于以后鉴之…… 一、数组定义: 数组的定义使用 array()方式定义,可以定义空数组: [code lang="php"] $number = array(1,3,5,7,9); //定义空数组 $result = array(); $color ... 2013年06月19日 软件开发 暂无评论 喜欢 0 阅读全文
DIRECTORY_SEPARATOR的作用 DIRECTORY_SEPARATOR是php的内部常量,用于显示系统分隔符的命令,不需要任何定义与包含即可直接使用。 在windows下路径分隔符是(当然/在部分系统上也是可以正常运行的),在linux上路径的分隔符是/,这就导致了一个问题,比如开发机器是windows,有一个图片上传程序,调试机器上指定的上传文件保存目录是: define(ROOT, dirname(__FILE__)."/upload"); 在本地调试都很正常,但是上传到linux服务器的时候... 2013年06月18日 软件开发 暂无评论 喜欢 0 阅读全文
PHP跳转页面的三种方式 PHP页面跳转一、header()函数 header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。 header()函数的定义如下: void header (string string [,bool replace [,int http_response_code]]) 可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。 第二个可选参数http_response_code强制将HTTP相应代码设为指定值... 2013年06月17日 软件开发 暂无评论 喜欢 0 阅读全文
CakePHP: HTTPS HTTP页面跳转导致登录信息丢失 可能的情况之一是由于Session有问题, 导致服务器返回的set-cookie错误或丢失。 从而导致用户登录信息无法保持。 解决方法之一是在用户登录成功后,获取提交表单中用户名和密码,手工设置到浏览器Cookie中。 注意密码的获取方式为$this->data[User][password],如果用$this->Auth->user[password]某些情况下会取不到值。 如果不是在SSL/NONE SSL之间切换或在多个应用服务器之间切换,一般不会出现... 2013年06月16日 软件开发 暂无评论 喜欢 0 阅读全文
CakePHP: 性能方面的考虑 1、$uses和loadModel的使用 在CakePHP1.3.x版本中尽量不使用$uses, 因为这会全部加载使用到的model,占用内存和消耗不必要的时间。 相反在需要使用model的地方,使用loadModel加载它。在不需要关联数据的情况下,设置其recursive属性为-1。 另外控制器默认的数据模型不用加载,如果users_controller不用调用loadModel(User),User模型及其关联模型会自动加载, 在控制器中只要直接使用即可: $this->Use... 2013年06月15日 软件开发 暂无评论 喜欢 0 阅读全文
PHP文件打开、关闭、写入的判断与执行 今天学习PHP的文件操作命令,涉及了fopen、fwrite、fclose、is_writable,但在使用中,很多时候可能遇到文件不存在、没有权限写入、打开失败、写入失败等各种问题,如何准确的控制和判断成了PHP中的一个“小问题”,下面是从书上摘抄下来的语句。 2013年06月14日 软件开发 暂无评论 喜欢 0 阅读全文
为什么说PHP是个集中营 有一天我跟在DUMBO的一个非常棒的创业公司的老板聊天,谈到为什么非PHP界的开发人员普遍轻视PHP和PHP相关社区。他提出了一个观点让我印象很深,很大程度上是因为以前从来没有听到过这样的说法。 如果你不知道大多数的程序员都会对PHP发什么样的牢骚,那么,这些牢骚差不多会像这样: 语法丑陋 缺乏其它语言都有的一些必要的特征(在5.3版本之前,没有命名空间,闭包) 不一致的函数命名、使用惯例,以及其它... 2013年06月13日 软件开发 暂无评论 喜欢 0 阅读全文
PHP autoload机制分析 PHP实现autoload有两种方法: 1、拦截器__autoload() 2、设置全局变量函数指针autoload_func为指定函数。通常在c扩展中使用 本质上前者还是通过后者实现的。 分析过程,PHP5.3.6源码 =>Zend/zend_vm_def.h 1894行 ZEND_VM_HANDLER(109,ZEND_FETCH_CLASS,... =>zend_execute_API.c 1526行 zend_class_entry *zend_fetch_class(const char *class_name,... =>zend_execute_API.c 1564行 if(zend_loo... 2013年06月12日 软件开发 暂无评论 喜欢 0 阅读全文
PHP程序员突破成长瓶颈 – 附学习建议 身边有几个做PHP开发的朋友,因为面试,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们能破突自己,有更好的发展。 PHP工程师面临成长瓶颈 先明确我所指的PHP工程题,是指毕业工作后,主要以PHP进行WEB系统的开发,没有使用其他语言工作过。工作经验大概在3~4年,普通的WEB系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手... 2013年06月11日 软件开发 暂无评论 喜欢 0 阅读全文
PHP输出当前日期时间与星期 PHP输出当前日期时间与星期 <?php $week= array(日,一,二,三,四,五,六); echo date(Y年m月d日).星期.$week[date(w)]; //输出结果为 2011年04月16日星期六 ?> 2013年06月10日 软件开发 暂无评论 喜欢 0 阅读全文
编译安装PHP出现configure: error: mysql configure failed. Plea 好久没有编译安装过php了,为了玩nginx.没法子,编译一次来测试.我加的编译的参数是: # ./configure –prefix=/usr/local/php –with-config-file-path=/etc –with-gd –enable-gd-native-ttf –with-mysql –with-iconv-dir –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir –enable-xml –disable-debug –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –en... 2013年06月09日 软件开发 暂无评论 喜欢 1 阅读全文
PHP与SQL注入攻击 SQL注入攻击是黑客攻击网站最常用的手段。如果你的站点没有使用严格的用户输入检验,那么常容易遭到SQL注入攻击。SQL注入攻击通常通过给站点数据库提交不良的数据或查询语句来实现,很可能使数据库中的纪录遭到暴露,更改或被删除。下面来谈谈SQL注入攻击是如何实现的,又如何防范。 看这个例子: // supposed input $name = “ilia’; DELETE FROM users;”; mysql_query(“SELECT * FROM users WHERE name=’{... 2013年06月08日 软件开发 暂无评论 喜欢 0 阅读全文
成为优秀PHP开发人员做到的5件事 Php是当今互联网开发语言中的中流砥柱,大约有2000万个域名(网站)使用的语言的都是php语言。因其巨大的优势和极度的弹性,php语言已经成为一门非常流行的语言。作为一个phper,如果你想更加优秀,请浏览下面的内容并记住。 第一:使用php核心函数和类 在准备创建函数之前去查一下php手册吧,也许你想要的函数别人已经构建好了。这些函数和类不仅可以简化开发效率和流程,更重要的是他们往往有更高的执行... 2013年06月07日 软件开发 暂无评论 喜欢 0 阅读全文
PHP include()和require()方法的区别 PHP的include()和require()是两种包含外部文件的方法,对于这两种方法有什么区别,很多初学者可能不是很明白。下面总结一下PHP include()和require()的区别: 1:加载失败的处理方式不同: include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行) require() :如果文件不存在,会报出一个fatal error.脚本停止执行 include() : 如果文件不存在,会给出一个 warning,但脚本会... 2013年06月06日 软件开发 暂无评论 喜欢 0 阅读全文
关于PHP开发编码规范 这是一个之前的一篇文章,感觉很好重新整理又发出来。希望能让大家有所收获。 1. 介绍 1.1. 标准化的重要** 标准化问题在某些方面上让每个人头痛,让人人都觉得大家处于同样的境地。这有助于让这些建议在许多的项目中不断演进,许多公司花费了许多星期逐子字逐句的进行争论。标准化不是特殊的个人风格,它对本地改良是完全开放的。 1.2. 优点 当一个项目尝试着遵守公用的标准时,会有以下好处: · 程序员... 2013年06月05日 软件开发 暂无评论 喜欢 0 阅读全文
有关国外空间 VPS PHP时间不正确解决办法 由于暂时使用国外的空间,在我发布 Blog 的时候发现时间总是不对。依据我以前编写程序的经验,这是时区的问题。这个问题解决起来并不难,写下我的解决途径以便日后参考。 PHP 脚本端的市区设置可以在 php.ini 下设置 date.timezone 键的值为 Asia/Shanghai 即可。但是通常共享虚拟主机本身没有修改 php.ini 权限。这个时候就应该在程序公共部分加入 ini_set(date.timezone,Asia/Shanghai); 动态修改 php.in... 2013年06月04日 软件开发 暂无评论 喜欢 0 阅读全文
PHP与XML结合的网站编程 一、小序 HTML简单易学又通用,一般的PHP程序就是嵌入在HTML语言之中实现的。但是随着WEB越来越广泛的应用,HTML的弱点也越来越明显了。XML的出现,弥补了这些不足,它提供了一个能够处理互联网上全部数据的通用方法。 二、HTML的局限性分析 1、 HTML的可扩展性差。虽然作为一般的应用,HTML应经够用了,但是在处理数学和化学等符号时,HTML有明显的缺点,而且它无法进行扩展,这样使它的发展收到了极大... 2013年06月03日 软件开发 暂无评论 喜欢 0 阅读全文
外媒体评:改良程序的11技巧 有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。 让我们看一些基本的编程技巧: 尽量保持方法简短 永远永远不要把同一个变量用于多个不同的目的 使用自描述的变量名和方... 2013年06月02日 软件开发 暂无评论 喜欢 0 阅读全文
PHP程序员应了解MongoDB的五件事 2013年将是文档型数据库的起始年。尽管这样的势头已经持续多年,现在才是一个更多,更广泛的文档型数据库出现的年代。从基于云计算的Amazon到Google,大量开源工具,以及随之诞生的CouchDB和MongoDB。 那么什么是MongoDB?下面有五件事是PHP开发者应该了解的: 1. MongoDB是一个单独的服务器; 2. MongoDB是基于文档,而不是基于表; 3. MongoDB中较少的Schema; 4. 你不需要学习另外的语言; 5. MongoDB有良好... 2013年06月01日 软件开发 暂无评论 喜欢 0 阅读全文
顶级PHP大师的开发原则 1. 在合适的时候使用PHP – Rasmus Lerdorf 没有谁比PHP的创建者Rasmus Lerdorf明白PHP用在什么地方是更合理的,他于1995年发布了PHP这门语言,从那时起,PHP就像燎原之火,烧遍了整个开发阵营,改变了互联网的世界。可是,Rasmus并不是因此而创建PHP的。PHP是为了解决web开发者的实际问题而诞生的。 和许多开源项目一样,PHP变得流行,流行的动机并不能用正常的哲学来进行解释,甚至流行得有些孤芳自赏。它... 2013年05月31日 软件开发 暂无评论 喜欢 0 阅读全文