PHP入門-表單處理問題總結
這幾天的學習下來.PHP和C/C++有太多的相似之處了.所以簡單的入門現在看來已經沒有問題了.但是因為選取的是一本快速入門的書籍,難免有些知識點比較粗糙.比如下面兩個問題就讓我吃了點虧.
1. 表單的檔案標籤無法擷取到檔案名稱.
在書籍裡面瞭解到,表單通過搜集資料,發現很多同學也遇到了相同的問題.可能和我看的是一樣的書吧.不過總算是經過一番努力以後找到了原因,原來是因為預設情況下,html僅僅支援text/html格式的檔案傳輸.而表單需要多格式支援.所以解決辦法就是.在form中添加屬性 enctype="multipart/form-data" . ok問題解決.
我的regist.php的內容如下:
";echo "name is ".$_POST[username]."
";echo "number is ".$_POST[id]."
";echo "mail is ".$_POST[mail]."
";echo "password is ".$_POST[password]."
";print_r($_FILES);?>
上傳一個檔案,測試一下:
輸入介面如下,我寫入一些資訊,因為是字元介面,所以頭像部分是我手寫進去的.
輸出介面如下.可以看到檔案是有資訊的.其中name表示在用戶端的檔案名稱,type表示檔案類型.tmp_name表示在伺服器端的臨時檔案名稱
2. 表單的映像標籤不顯示映像.
這個問題在大學的時候也遇到過,當時解決了.但是轉眼這麼多年過去了.哪裡還記得住啊.不過運氣號,試了幾下就又想起解決辦法了.
最初我指定的路徑是我其它的目錄.所以圖片無法顯示,後來我把圖片放在了apache工作的根目錄,即/var/www/html目錄下,就可以正常顯示了.想想也是,如果哪裡的檔案都能顯示,apache何必還要我們配置工作ROOT_DIRECTORY呢.
3. php亂碼問題
我們知道在html頁面中,編碼問題是通過meta標籤指定http-equiv的方式來指定的.但是跳轉到php頁面以後,這個標籤失效了.php又成了亂碼.怎麼辦,想必是一定有現成的函數可以使用的.所以就網上查了一下,果然.
在PHP檔案的開頭處加入 header("Content-Type="text/html;charset=utf-8");問題解決.
ok.這就是這幾天學習PHP遇到的一些的問題.總結一下,尤其是第一個問題,查了很久才找到一個合理的解釋.接下來的幾天我會繼續加深理解,爭取本周能夠寫出一個小東西.