不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2015-03-21 09:56  分类:PHP基础  编辑

刚入门的同学觉得自己能用PHP写出各种程序就很NB了,但其实作为一个专业程序员,你得有个全面点的知识结构。单元测试总得听过,文档工具总得用用,Xss总得会防。推荐大家把《PHP the right way》这篇长文仔细读读,最好每一段都弄明白了。

阅读中文版:PHP之道

作者:php-note.com  发布于:2015-03-15 20:40  分类:PHP基础  编辑

在看别人的代码时发现经常有人不使用 ?> 结尾符。

尤其是在使用include之后,不使用的频率更高。

作者:php-note.com  发布于:2015-03-12 10:33  分类:PHP基础  编辑
<?php
/**
 * 读写大二进制文件,不必申请很大内存
 * 只有读取到内容才创建文件
 * 保证目录可写
 *
 * @param string $srcPath 源文件路径
 * @param string $dstPath 目标文件路径
 * @return bool
 */
function fetch_big_file($srcPath, $dstPath)
{
	// ...
}
作者:php-note.com  发布于:2015-03-11 09:43  分类:PHP基础  编辑

结论:

如果要判断文件是否存在,用函数 is_file(),

如果要判断目录是否存在,用函数 is_dir(),

好像没地方需要用file_exists了,不确定传入的参数是文件还是目录的时候用?

--> 可以预估下,当文件/文件夹不存在的概念比较大时,就用 file_exists。

作者:php-note.com  发布于:2015-03-07 22:23  分类:PHP基础  编辑

链接就不贴了,可以在github上进行搜索。这里就不列举 symfony、laravel 这些大家都知道的项目了。只列举比较有意思的。

  • swoole, C扩展实现的PHP异步并行网络通信框架,可以重新定义PHP。过去PHP只能做Web项目,现在有了Swoole。任意服务器端程序都可以用PHP来写。
作者:php-note.com  发布于:2015-03-03 14:11  分类:PHP基础  编辑

GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。

作者:php-note.com  发布于:2015-03-02 23:40  分类:PHP基础  编辑

方法1:

在html表单,放置多个文件选择框, 使用数组名作为组件的名字, 如下:

<form action="upload.php" method="post" enctype="multipart/form-data"> 
	<input type="file" name="upfile[]"/> 
	<input type="file" name="upfile[]"/> 
	<input type="file" name="upfile[]"/> 
</form>
作者:php-note.com  发布于:2015-02-11 19:26  分类:PHP基础  编辑

PHP里的__CLASS__这类东西是静态绑定的,如果不在子类里重载的话,那么继承父类方法所得到的依旧是父类的名称,而不是子类的名称,比如:

<?php
class A {
	function __construct() {
		echo __CLASS__;
	}

	static function name() {
		echo __CLASS__;
	}
}

class B extends A{
}

$objB = new B(); // 输出 A
B::name();       // 输出 A
作者:php-note.com  发布于:2015-02-07 10:49  分类:PHP基础  编辑

使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出。这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1true

作者:php-note.com  发布于:2015-02-06 14:05  分类:PHP基础  编辑

使用数组提供 post 数据时,CURL 组件大概是为了兼容 @filename 这种上传文件的写法,默认把 content_type 设为了 multipart/form-data。虽然对于大多数服务器并没有影响,但是还是有少部分服务器不兼容。

经过一番总结最终得出结论:

在没有需要上传文件的情况下,尽量对 post 提交的数据进行 http_build_query 处理,然后再发送出去,能实现更好的兼容性,更小的请求数据包。