编程技巧 - 文章列表

  • 巧学巧用:如何使用PHP中的字符串函数

    1)echo,print,printf,sprintf前两个函数是输出字符串.字符串中如果有变量名则被替换成其值.后两个函数类似于C的同名函数.(2)strchr,strlen,strtok,strrchr,strrev,strstr,strtolower,strtoupper,substr,ucfirst这些是常用的字符串操作函数,有些和C中的同名函数意义完全一致.strrev是把一个字符串翻转.strtolower和strtoupper的意思应该不用解释了.ucfirst是把字符串的第一个字符变成大写.substr是返回字符串的一个子串,用法是:substr(字符串,头,长度).头位置是

  • php获取某个目录大小

    大致就是不知道目录下面又多少层目录, 也不知道又多少文件, 需要统计占用空间大小, 这个可以用在 相册/数据库占用/网络U盘 等程序中.\n  大致程序思想就是使用递规来计算目录占用空间多少, 然后再把这个占用空间的值写进文本文件里, 那么只要访问这个txt文件就知道占用了多少空间, 不用频繁获取而读磁盘, 节省资源. 每次用户如果上传的文件或者删除了文件, 那么又重新进行统计. 当然, 也可以把统计结果保存到数据库里.\n<?/** * File: fetch user directory use size * Author: heiyeluren <heiyeluren_AT_

  • PHP的十个高级技巧(上)

    (作者:张文芹编译)   全球超过300万个互联网网站的管理员都在使用PHP,使得它成为最为普及的服务器端脚本语言之一。其特点是运行速度快、稳定可靠、跨平台,而且是开放源代码软件。随你使用的水平不同,PHP可以很简单,也可以很复杂,可以只使用它发送HTML表格元素,还可以在PHP应用程序中集成Java和XML。   如果你对PHP有一定的了解或者看过一些初步的教材,这些技巧可以扩展你对PHP的认识,使你掌握一些常见的和高级的PHP功能。 一、把PHP安装为Apache的DSO   PHP在Linux/Unix平台上经常与Apache搭配使用,在安装PHP时,有

  • 任意字符集下正常显示网页

    通常情况下,我们的网页要指定一个编码字符集,如 GB2312、UTF-8、ISO-8859-1 等,这样我们就可以在网页上显示我们指定编码的文字了。但是我们很可能会遇到这种情况,那就是我们可能希望在 ISO-8859-1 编码的网页上显示汉字,或者在 GB2312 编码的网页上显示韩文等。当然一种解决办法就是我们不用 ISO-8859-1 或者 GB2312 编码,而统统都采用 UTF-8 编码,这样我们只要在这种编码下,就可以混合显示各国文字了,这是现在很多网站采用的方法。\n而我这里所说的并非上面这种方法,因为上面这种方法必须要指定字符集为 UTF-8 才可以,一旦用户手工指定为其他字符集

  • 一个完整、安全的用户登录系统

    在使用PHP编程的时候,我有一个习惯,不太喜欢使用现成的库文件,例如PHPLib或者其它类似的库,在这个系统中,我也打算自己写一个库文件,它需要处理认证、确认email,更新帐号(密码,email)等事情。 为了在保证该系统安全的同时,不会加重我现有数据库的负担。因此这个新的系统要依赖cookies。这确实是一个两难的选择,因为如果只是设置一个用户名的cookie,是很不安全的,这行不通,但从数据库的负担考虑,我也不能加入一个简单的无序码而交由我的数据库来进行验证。\n  解决的方法是同时设置两个cookie,一个是用户名的cookie,一个是无序码的cookie。这个无序码实际上是由用户名和

  • PHP与SQL注入攻击

    SQL注入攻击是黑客攻击网站最常用的手段。如果你的站点没有使用严格的用户输入检验,那么常容易遭到SQL注入攻击。SQL注入攻击通常通过给站点数据库提交不良的数据或查询语句来实现,很可能使数据库中的纪录遭到暴露,更改或被删除。下面来谈谈SQL注入攻击是如何实现的,又如何防范。\n  看这个例子:// supposed inputname = “ilia’; DELETE FROM users;”;mysql_query(“SELECT * FROM users WHERE name=’{name}’”);  很明显最后数据库执行的命令是:SELECT * FROM users WHERE nam

  • PHP的十个高级技巧(中)

    (作者:张文芹编译 ) 三、文件是我们的朋友   无论你在开发的网站规模的大小,都应该意识到代码重用的重要性,无论这些代码是HTML、还是PHP代码。例如,你必须至少每年改变一次包含版权信息的页脚,如果你的网站含有1000个页面,每年修改一次也是个很烦人的事儿。   在PHP中,至少有几个函数可以帮助你实现代码重用的目的,所使用的函数取决于你所重用的代码,主要的函数有:   * include() and include_once()   * require() and require_once()   include()函数包

  • PHP中常见的session问题

    1,如何设置长生命期的session ? 将 session.cookie_lifetime ,session.gc_maxlifetime 的时间设置长一点。\n2,为什么初始化session的时候报错?a,检查session文件的存储路径,路径是否对,操作权限是否够b,检查session初始化之前是否有html 内容输出\n3,客户端在禁止使用cookie的时候,session会有影响吗?当客户端的cookie拒绝使用的情况下。将会带来很多的一些的不方便:php 会自动在页面的链接和表单等地方添加sessionId参数。以保证会话的继续,但是这个时候,在一个浏览器上多次手工输入一样地址,s

  • PHP中的正则表达式

    综述 \n正则表达式是一种可以用于模式匹配和替换的强有力的工具。正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。\n如何使用基本模式匹配?\n  模式,是正规表达式最基本的元素,它们是一组描述字符串特征的字符。模式可以很简单,由普通的字符串组成,也可以非常复杂,往往用特殊的字符表示一个范围内的字符重复出现,或表示上下文。我们先看一些正则表达式中的特殊字符。\n特殊字符”^”用来匹配以指定字符串开头的字符串。例如:\n

  • PHP界的大事:zend已经可以破解

    10月4日,国内有一家名为清风工作室的网站推出一款名为deZender的软件,据他们说“deZender可以反编译被zend编译过的所有 PHP代码,由deZender产生的PHP源代码同原始文件相比,在源代码级有超过95%以上的一致率,除极少数特殊情况外,无需经过任何修改,即能正确运行并实现与原始文件完全相同的功能。deZender能100%地还原PHP的变量名、函数名、类名、属性名、方法名,甚至函数的参数名。”  这个消息引起了众多php爱好者的关注,到目前为止,已经有上百个朋友在他们论坛提供了代码让他们破解,虽然到现在还不能完美破解,但破解的结果还是让很多人吃惊,所有用zend enco