杰拉斯的博客

归档:2012年11月月

[转载]深入浅出PHP下的文件上传

杰拉斯 杰拉斯 | 时间:2012-11-28, Wed | 26,496 views
后台技术 

文件作为一种特殊的表单数据,通过http post请求方式提交至服务器的时候,php会生成一个$_FILES全局数组,相关的文件信息会存放在这个全局数组中。我将在这篇文章中通过一些示例代码来阐述php下的文件上传,并且深入看下关于文件上传内部的实现机制,最后简单说下如何加强这方面的安全性!

文件上传

为了让客户端的用户能够上传文件,我们必须在用户界面中提供一个表单用于提交上传文件的请求。由于上传的文件是一种特殊数据,不同于其它的post数据,所以我们必须给表单设置一个特殊的编码:

<form action="upload.php" method="POST" enctype="multipart/form-data">

以上的enctype属性,你可能不太熟悉,因为这常常会被忽略掉。但是,如果http post请求中既有常规数据,又包含文件类数据的话,这个属性就应该显示加上,这样可以提高针对各种浏览器的兼容性
接下来,我们得向表单中添加一个用于上传文件的字段:

<input type="file" name="attachment" />

上述文件字段在各种浏览器中可能表现会有所不同。对于大多数的浏览器,上述字段都会被渲染成一个文本框加上一个浏览按钮。这样,用户既可以自行输入文件的路径到文本框中,也可以通过浏览按钮从本地硬盘上选择所要上传的文件。但是,在苹果的Safari中,貌似只能使用浏览这种方式。当然,你也可以自定义这个上传框的样式,使它看起来比默认的样式优雅些。

(阅读全文…)

[转载]好的创业idea 都有哪些特点?

杰拉斯 杰拉斯 | 时间:2012-11-26, Mon | 16,892 views
心路历程 

在《硅谷创业教父Paul Graham:如何获得创业idea》系列文章中,Paul Graham 在行文中暗含了好/糟糕idea 的特点/兆头,Nic Brisbourne 整理、归纳如下,仅供参考:

好idea 的特点

  1. 这是创始人自己想要的产品/服务
  2. 这是创始人自己能够做出来的
  3. 少有别人意识到这是值得做的事情
  4. 这是一小群人迫切想要的,哪怕它只是一个粗糙的版本
  5. 它是处于某快速变化的领域的前沿的
  6. 一旦这些问题得到解决,再回过头来看,它们就会变得再明显不过
  7. 创业idea 不该是“想到”的而应该是“注意到”的

糟糕idea 的特点

  1. 很多人需要它,但只会用一下下,而不是迫切需要
  2. 如果有大量的人迫切需要某样东西,而这样东西只需一家创业公司的努力就能把它实现出来,那它很有可能早就存在了
  3. 创始人对该领域并不十分了解

上面的任何一条都并不足以说明你的创业idea 究竟是好是坏,它们只是兆头,而非绝对的证据。一些特别成功的创业公司身上也能找到糟糕idea 的影子,反过来,失败的创业公司也能看到好idea 的特点的存在,但综合来说,成功的创业公司身上,好的东西总比坏的多。

(阅读全文…)

BAE中实现WordPress固定链接及伪静态

杰拉斯 杰拉斯 | 时间:2012-11-19, Mon | 63,182 views
后台技术 

写在前面

有一好友在BAE上搭建了自己的WordPress博客,但由于BAE推出的时间较晚,不像SAE那样已经具备较为完善的应用仓库,对WordPress博客程序也没有官方的支持,而固定链接对于一个博客来说是比较重要的,伪静态有利于搜索引擎优化,而链接的格式若不尽早确定,日后再想改变将是一件非常麻烦的事情。

什么是BAE

百度应用引擎(Baidu App Engine,简称BAE)是基于百度基础架构推出的网络应用开发平台,基于BAE架构,使开发者不需要维护任何服务器,只需要简单的上传应用程序,就可以为用户提供服务。BAE有能力将原本单机的LAMP架构,变成分布式架构。

开发者可以基于BAE平台进行PHPJavaPython应用的开发、编译、发布、调试。同时BAE平台也提供了大量的云服务给开发者,包括fetch URL、task queue、SQL、memcache,后续会提供更多服务。在性能方面,如果开发者希望增加服务能力,可以通过申请更多执行单元的方式进行灵活的调整。

BAE服务可以让开发者在开发网络应用程序的过程中摆脱繁琐的环境、服务问题,把精力专注于业务逻辑。

简单的上传应用程序,就可以为用户提供服务。BAE有能力将原本单机的LAMP架构,变成分布式架构。
开发者可以基于BAE平台进行PHP、Java、Pyt应用的开发、编译、发布、调试。同时BAE平台也提供了大量的云服务给开发者,包括fetch URL、task queue、SQL、memcache,后续会提供更多服务。在性能方面,如果开发者希望增加服务能力,可以通过申请更多执行单元的方式进行灵活的调整。

(阅读全文…)

PHP 5.5.0 Alpha 1 发布

杰拉斯 杰拉斯 | 时间:2012-11-16, Fri | 9,212 views
前沿信息 

PHP 5.5.0 发布了首个 Alpha 测试版本,该版本包含众多改进和 bug 修复,详细列表请看这里

PHP(PHP:Hypertext Preprocessor)是一种在电脑上执行的脚本语言,主要是用途在于处理动态网页,也包含了命令列执行接口(command line interface),或者产生图形使用者接口(GUI)程式。

PHP 最早由 Rasmus Lerdorf 在1995年发明,现在PHP实质上的标准由PHP Group和开放源代码社群维护。PHP 以 PHP License 作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不相容。

来源:开源中国社区

[转载]PHP函数的实现原理及性能分析

杰拉斯 杰拉斯 | 时间:2012-11-15, Thu | 20,864 views
后台技术 

前言

在任何语言中,函数都是最基本的组成单元。对于php的函数,它具有哪些特点?函数调用是怎么实现的?php函数的性能如何,有什么使用建议?

本文将从原理出发进行分析结合实际的性能测试尝试对这些问题进行回答,在了解实现的同时更好的编写php程序。同时也会对一些常见的php函数进行介绍。

(阅读全文…)