本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于php和html結(jié)合實(shí)現(xiàn)上傳圖片文件到服務(wù)器的代碼,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。
一.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']; //文件類型。
/* 判斷文件類型,這個(gè)例子里僅支持jpg和gif類型的圖片文件。*/
if ($imgType == 'image/jpeg'
|| $imgType == 'image/gif')
{
$imgFileName = $imgFile['name'];
$imgSize = $imgFile['size'];
$imgTmpFile = $imgFile['tmp_name'];
/*
將文件從臨時(shí)文件夾移到上傳文件夾中。
注意:upfile這個(gè)文件夾必須先創(chuàng)建好,不然會(huì)報(bào)錯(cuò)。
*/
move_uploaded_file($imgTmpFile, 'upfile/'.$imgFileName);
/*顯示上傳后的文件的信息。*/
$strPrompt = sprintf("文件%s上傳成功<br>"
. "文件大小: %s字節(jié)<br>"
. "<img src='upfile/%s'>"
, $imgFileName, $imgSize, $imgFileName
);
echo $strPrompt;
}
else
{
echo "請(qǐng)選擇jpg或gif文件,不支持其它類型的文件。";
}
}
else
{
echo "文件上傳失敗。<br>";
switch ($upErr)
{
case 1:
echo "超過(guò)了php.ini中設(shè)置的上傳文件大小。";
break;
case 2:
echo "超過(guò)了MAX_FILE_SIZE選項(xiàng)指定的文件大小。";
break;
case 3:
echo "文件只有部分被上傳。";
break;
case 4:
echo "文件未被上傳。";
break;
case 5:
echo "上傳文件大小為0";
break;
}
}
}
else
{
}
三.php代碼分析:
$_FILES是一個(gè)數(shù)組變量,用于保存上傳后的文件信息。
$_FILES['imgfile']表示文件域名稱為'imgfile'的控件提交服務(wù)器后,上傳的文件的信息。
一個(gè)上傳的文件,有以下屬性信息:
'name': 上傳的文件在客戶端的名稱。
'type': 文件的 MIME 類型,例如"image/jpeg"。
'size': 已上傳文件的大小,單位為字節(jié)。
'tmp_name':上傳時(shí),在服務(wù)器端,會(huì)把上傳的文件保存到一個(gè)臨時(shí)文件夾中,可以通過(guò)此屬性得到臨時(shí)文件名。
'error':文件在上傳過(guò)程中的錯(cuò)誤代碼。如果上傳成功,此值為0,其它值的意義如下:
1:超過(guò)了php.ini中設(shè)置的上傳文件大小。
2:超過(guò)了MAX_FILE_SIZE選項(xiàng)指定的文件大小。
3:文件只有部分被上傳。
4:文件未被上傳。
5:上傳文件大小為0。
代碼中首先判斷$_FILES['imgfile']變量是否存在,如果存在,并且$_FILES['imgfile']['tmp_name']變量所指文件被上傳了,判斷error屬性,如果屬性為0,把上傳后的圖像從臨時(shí)文件夾移到upfile文件夾中,顯示上傳文件的信息,并顯示上傳后的圖像。
如果error值不為0,表示上傳失敗,顯示失敗信息。
四.完整代碼
上傳圖片文件
"
. "文件大小: %s字節(jié)
"
. "
"
, $imgFileName, $imgSize, $imgFileName
);
echo $strPrompt;
}
else
{
echo "請(qǐng)選擇jpg或gif文件,不支持其它類型的文件。";
}
}
else
{
echo "文件上傳失敗。
";
switch ($upErr)
{
case 1:
echo "超過(guò)了php.ini中設(shè)置的上傳文件大小。";
break;
case 2:
echo "超過(guò)了MAX_FILE_SIZE選項(xiàng)指定的文件大小。";
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>
相關(guān)文章推薦:
php類型約束是什么?php類型約束簡(jiǎn)介和用法
php中刪除數(shù)組一個(gè)元素和從數(shù)組中刪除多個(gè)元素的方法總結(jié)(附代碼)
以上是php和html結(jié)合實(shí)現(xiàn)上傳圖片文件到服務(wù)器的代碼的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!