一.html代碼
body form action= method= post enctype= multipart/form-data name= upload_form label 選擇圖片文件 /label input name= imgfile type= file accept= image/gif, image/jpeg / input name= upload type= submit value= 上傳 / /form /body
二.php代碼
if (isset($_FILES[ imgfile ]) is_uploaded_file($_FILES[ imgfile ][ tmp_name ])) $imgFile = $_FILES[ imgfile $upErr = $imgFile[ error if ($upErr == 0)$imgType = $imgFile[ type //文件類型。/* 判斷文件類型,這個例子里僅支持jpg和gif類型的圖片文件。*/if ($imgType == image/jpeg || $imgType == image/gif )$imgFileName = $imgFile[ name $imgSize = $imgFile[ size $imgTmpFile = $imgFile[ tmp_name 將文件從臨時文件夾移到上傳文件夾中。注意:upfile這個文件夾必須先創建好,不然會報錯。move_uploaded_file($imgTmpFile, upfile/ .$imgFileName);/*顯示上傳后的文件的信息。*/$strPrompt = sprintf( 文件%s上傳成功 br . 文件大小: %s字節 br . img src= upfile/%s , $imgFileName, $imgSize, $imgFileNameecho $strPrompt;echo 請選擇jpg或gif文件,不支持其它類型的文件。 echo 文件上傳失敗。 br switch ($upErr)case 1: echo 超過了php.ini中設置的上傳文件大小。 break;case 2: echo 超過了MAX_FILE_SIZE選項指定的文件大小。 break;case 3: echo 文件只有部分被上傳。 break;case 4: echo 文件未被上傳。 break;case 5: echo 上傳文件大小為0 break;}
三.php代碼分析:
$_FILES是一個數組變量,用于保存上傳后的文件信息。
$_FILES[ imgfile ]表示文件域名稱為 imgfile 的控件提交服務器后,上傳的文件的信息。
一個上傳的文件,有以下屬性信息:
name : 上傳的文件在客戶端的名稱。
type : 文件的 MIME 類型,例如 image/jpeg 。
size : 已上傳文件的大小,單位為字節。
tmp_name :上傳時,在服務器端,會把上傳的文件保存到一個臨時文件夾中,可以通過此屬性得到臨時文件名。
error :文件在上傳過程中的錯誤代碼。如果上傳成功,此值為0,其它值的意義如下:
1:超過了php.ini中設置的上傳文件大小。
2:超過了MAX_FILE_SIZE選項指定的文件大小。
3:文件只有部分被上傳。
4:文件未被上傳。
5:上傳文件大小為0。
代碼中首先判斷$_FILES[ imgfile ]變量是否存在,如果存在,并且$_FILES[ imgfile ][ tmp_name ]變量所指文件被上傳了,判斷error屬性,如果屬性為0,把上傳后的圖像從臨時文件夾移到upfile文件夾中,顯示上傳文件的信息,并顯示上傳后的圖像。
如果error值不為0,表示上傳失敗,顯示失敗信息。
四.完整代碼
!DOCTYPE html html head meta http-equiv= Content-Type content= text/html; charset=utf-8 / title 上傳圖片文件 /title /head ?phpif (isset($_FILES[ imgfile ]) is_uploaded_file($_FILES[ imgfile ][ tmp_name ])) $imgFile = $_FILES[ imgfile $upErr = $imgFile[ error if ($upErr == 0)$imgType = $imgFile[ type //文件類型。/* 判斷文件類型,這個例子里僅支持jpg和gif類型的圖片文件。*/if ($imgType == image/jpeg || $imgType == image/gif )$imgFileName = $imgFile[ name $imgSize = $imgFile[ size $imgTmpFile = $imgFile[ tmp_name /* 將文件從臨時文件夾移到上傳文件夾中。*/move_uploaded_file($imgTmpFile, upfile/ .$imgFileName);/*顯示上傳后的文件的信息。*/$strPrompt = sprintf( 文件%s上傳成功 br . 文件大小: %s字節 br . img src= upfile/%s , $imgFileName, $imgSize, $imgFileNameecho $strPrompt;echo 請選擇jpg或gif文件,不支持其它類型的文件。 echo 文件上傳失敗。 br switch ($upErr)case 1: echo 超過了php.ini中設置的上傳文件大小。 break;case 2: echo 超過了MAX_FILE_SIZE選項指定的文件大小。 break;case 3: echo 文件只有部分被上傳。 break;case 4: echo 文件未被上傳。 break;case 5: echo 上傳文件大小為0 break;/*顯示表單。*/ body form action= method= post enctype= multipart/form-data name= upload_form label 選擇圖片文件 /label input name= imgfile type= file accept= image/gif, image/jpeg / input name= upload type= submit value= 上傳 / /form /body ?php /html
相關文章推薦:
php類型約束是什么?php類型約束簡介和用法
php中刪除數組一個元素和從數組中刪除多個元素的方法總結(附代碼)
以上就是php和html結合實現上傳圖片文件到服務器的代碼的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答