一、文件上传
为了让客户端的用户能够上传文件,我们必须在用户界面中提供一个表单用于提交上传文件的请求。由于上传的文件是一种特殊数据,不同于其它的post数据,所以我们必须给表单设置一个特殊的编码:
接下来,我们得向表单中添加一个用于上传文件的字段:
下面,为了更好的阐述怎么样处理文件上传,举一个完整的例子。比如,以下一个表单允许用户向我的本地服务器上上传附件:
请上传你的附件:
提示:可以通过php.ini中的upload_max_filesize来设置允许上传文件的最大值。另外,还有一个post_max_size也可以用来设置允许上传的最大表单数据,具体意思就是表单中各种数据之和,所以你也可以通过设置这个字段来控制上传文件的最大值。但是,注意后者的值必须大于前者,因为前者属于后者的一部分表单数据。
圖1. 顯示在firefox中的上傳表單
當這個表單提交的時候,http請求就會被送到upload.php。為了顯示具體哪些資訊可以在upload.php中使用,我在upload.php將其列印出來:
具體的http請求的各個部分
為了更好的理解文件上傳,我們必須核對下客戶端發送的http請求中到底包含了那些具體的信息。先前我上傳的附件是本部落格的logo,因為是圖片,不太適合我們做以上實驗。所以,我重新上傳一個test.text文字文件,其中具體包含了以下內容:
程式碼如下:
你也許還要對上傳檔案的大小進行限制,那麼你可以透過filesize函數來取得上傳檔案的大小,進行判斷後做進一步處理,這具體就不在這將了,自己去折騰吧。
好了,關於文件上傳暫時就寫到這裡吧。希望這篇入門文章對你有幫助。