首頁 >後端開發 >php教程 >php和html結合實作上傳圖片檔案到伺服器的程式碼

php和html結合實作上傳圖片檔案到伺服器的程式碼

不言
不言原創
2018-08-09 09:54:464742瀏覽

這篇文章帶給大家的內容是關於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[&#39;imgfile&#39;]) 
&& is_uploaded_file($_FILES[&#39;imgfile&#39;][&#39;tmp_name&#39;]))
{
 $imgFile = $_FILES[&#39;imgfile&#39;];
$upErr = $imgFile[&#39;error&#39;];
if ($upErr == 0)
{
$imgType = $imgFile[&#39;type&#39;]; //文件类型。
/* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/
if ($imgType == &#39;image/jpeg&#39;
|| $imgType == &#39;image/gif&#39;)
{
$imgFileName = $imgFile[&#39;name&#39;];
$imgSize = $imgFile[&#39;size&#39;];
$imgTmpFile = $imgFile[&#39;tmp_name&#39;];
/*
 将文件从临时文件夹移到上传文件夹中。
注意:upfile这个文件夹必须先创建好,不然会报错。
*/
move_uploaded_file($imgTmpFile, &#39;upfile/&#39;.$imgFileName);
/*显示上传后的文件的信息。*/
$strPrompt = sprintf("文件%s上传成功<br>"
. "文件大小: %s字节<br>"
. "<img src=&#39;upfile/%s&#39;>"
, $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類型約束簡介與用法

php中刪除陣列一個元素和從陣列中刪除多個元素的方法總結(附程式碼)

以上是php和html結合實作上傳圖片檔案到伺服器的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn