這篇文章帶給大家的內容是關於php和html結合實作上傳圖片檔案到伺服器的程式碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
一.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, $imgFileName ); echo $strPrompt; } else { echo "请选择jpg或gif文件,不支持其它类型的文件。"; } } else { 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; } } } else { }
三.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,表示上傳失敗,顯示失敗訊息。
四.完整程式碼
上传图片文件 " . "文件大小: %s字节
" . "" , $imgFileName, $imgSize, $imgFileName ); echo $strPrompt; } else { echo "请选择jpg或gif文件,不支持其它类型的文件。"; } } else { echo "文件上传失败。
"; 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; } } } else { /*显示表单。*/ ?> <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中刪除陣列一個元素和從陣列中刪除多個元素的方法總結(附程式碼)
以上是php和html結合實作上傳圖片檔案到伺服器的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!