兩種php實現圖片上傳的方法,
圖片上傳在項目中經常用到,幾乎沒有任何一個項目可以脫離圖片或者是檔案上傳。本篇我在這向大家介紹兩種常規的上傳方式。(註:在這裡我們僅僅是對功能的實現,不去做過多的前端的樣式)
一、利用form表單上傳
此種方式是最原始的上傳方式,前端就是簡單的form表單,後端我們有PHP處理傳輸過來的檔案。
首先看前端的代碼 upload.html
然後建立php檔案 handle.php 代碼如下
$file = $_FILES['file'];//得到傳輸的資料//得到檔案名稱$name = $file['name'];$type = strtolower(substr($name,strrpos($name,'.')+1)); //得到檔案類型,並且都轉化成小寫$allow_type = array('jpg','jpeg','gif','png'); //定義允許上傳的類型//判斷檔案類型是否被允許上傳if(!in_array($type, $allow_type)){ //如果不被允許,則直接停止程式運行 return ;}//判斷是否是通過HTTP POST上傳的if(!is_uploaded_file($file['tmp_name'])){ //如果不是通過HTTP POST上傳的 return ;}$upload_path = "D:/now/"; //上傳檔案的存放路徑//開始移動檔案到相應的檔案夾if(move_uploaded_file($file['tmp_name'],$upload_path.$file['name'])){ echo "Successfully!";}else{ echo "Failed!";}
當然,此php處理代碼不是很完善,其中對錯誤的情況沒有進行處理,然而使用php處理上傳檔案的原理就是這樣的,大家可以在此基礎上進行最佳化,使其更加完善。
二、利用uploadify實現無重新整理並且帶進度條的上傳
首先下載uploadify外掛程式,儲存在項目中的某個檔案夾下面,然後引入三個檔案
然後引用以下代碼
樣式如下
當然此按鈕的樣式我改動過,大家可以根據自己的需要修改樣式檔案,改變此按鈕的樣式
同樣的php代碼 handle.php
$file = $_FILES['Filedata'];//得到傳輸的資料//得到檔案名稱$name = $file['name'];$type = strtolower(substr($name,strrpos($name,'.')+1)); //得到檔案類型,並且都轉化成小寫$allow_type = array('jpg','jpeg','gif','png'); //定義允許上傳的類型//判斷檔案類型是否被允許上傳if(!in_array($type, $allow_type)){ //如果不被允許,則直接停止程式運行 return ;}//判斷是否是通過HTTP POST上傳的if(!is_uploaded_file($file['tmp_name'])){ //如果不是通過HTTP POST上傳的 return ;}$upload_path = "D:/now/"; //上傳檔案的存放路徑//開始移動檔案到相應的檔案夾if(move_uploaded_file($file['tmp_name'],$upload_path.$file['name'])){ echo "Successfully!";}else{ echo "Failed!";}
以上兩種方式上傳可以說PHP處理的原理是相同的,只是前台顯示的樣式不同,第二種方式是無重新整理,並且帶有傳回值,可以方便我們做其它的處理。雖然常用,但是總歸會受限制,使用起來不是很靈活。
隨著html5的發展的越來越成熟,我們可以利用h5中的一些方法實現上傳功能,此時後台PHP的處理代碼完全不同於以上兩種方式,並且使用起來很靈活。由於篇幅限制,本篇我不向大家介紹這種方式,有興趣的可以參考php+html5實現無重新整理圖片上傳教程,希望大家會喜歡。
您可能感興趣的文章:
- PHP圖片上傳類帶圖片顯示
- 簡單的PHP圖片上傳程式
- php 圖片上傳類代碼
- php圖片上傳儲存源碼並且可以預覽
- PHP 圖片上傳代碼
- PHP支援多種格式圖片上傳(支援jpg、png、gif)
- thinkphp實現圖片上傳功能分享
- 使用ThinkPHP+Uploadify實現圖片上傳功能
http://www.bkjia.com/PHPjc/1094752.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1094752.htmlTechArticle兩種php實現圖片上傳的方法, 圖片上傳在項目中經常用到,幾乎沒有任何一個項目可以脫離圖片或者是檔案上傳。本篇我在這向大家介紹兩...