PHP 文件的上傳與檢測
二維是它的當前屬性,重要的有以下幾個(gè):
$_FILES['file']['name']: 文件原始名稱(chēng)
$_FILES['file']['type']: 文件類(lèi)型
$_FILES['file']['size']: 上傳的文件大小
$_FILES['file']['tmp_name']: 服務(wù)器上的臨時(shí)文件夾
$_FILES['file']['error']: 上傳錯誤代碼
$_SERVER['PHP_SELF']:當前php腳本
enctype="multipart/form-data" :允許通過(guò)表單上傳文件
method:請求類(lèi)型必須是POST
處理腳本的三種語(yǔ)法:
1. 嚴格的寫(xiě)法:$_SERVER['PHP_SELF']:建議實(shí)際工作中用htmlspecialchars()進(jìn)行防跨域攻擊處理
2. 死板的寫(xiě)法,直接寫(xiě)上當前文件名: demo6.php
3. 懶的寫(xiě)法: 空,啥與不寫(xiě),默認就是提交到當前頁(yè)面的php腳本處理
form樣式
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST" enctype="multipart/form-data">
用隱藏域設置允許上傳的文件大小,僅考參考
<input type="hidden" name="MAX_FILE_SIZE" value="542488">
PHP樣式檢測請求類(lèi)型是否POST
$_SERVER['REQUEST_METHOD'] == 'POST'
檢測是否有文件被上傳
isset($_FILES['upload'])
將文件先移動(dòng)到臨時(shí)目錄
move_uploaded_file($_FILES['upload']['tmp_name'], "upload/{$_FILES['upload']['name']}")
對上傳錯誤進(jìn)行處理
if ($_FILES['upload']['error'] > 0 ) {
echo '<p>錯誤原因是:<strong>';
switch ($_FILES['upload']['error']) {
case 1:
echo '文件超過(guò)了php.ini配置中設置的大小';
break;
case 2:
echo '文件超過(guò)了表單中常量設置的大小';
break;
case 3:
echo '僅有部分文件被上傳';
break;
case 4:
echo '沒(méi)有文件被上傳';
break;
case 6:
echo '沒(méi)有可用的臨時(shí)文件夾';
break;
case 7:
echo '磁盤(pán)已滿(mǎn),寫(xiě)入失敗';
break;
case 8:
echo '上傳意外中止';
break;
default:
echo '系統未知錯誤';
break;
}
echo '</strong></p>';
}
把創(chuàng )建的臨時(shí)文件刪除,當然系統也會(huì )在結束會(huì )話(huà)時(shí)自動(dòng)清空
if (file_exists($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name'])) {
unlink($_FILES['upload']['tmp_name']);
}
猜你喜歡
聯(lián)絡(luò )方式:
電話(huà):18905275581
郵箱:1700970777@qq.com



-
PHP str_replace(), substr_replace()的運用,以及usort()二維數組的排序方法
str_replace(find,replace,string,count) 函數以其他字符替換字符串中的一些字符,區分大小寫(xiě)。 語(yǔ)法: str_replace(必需,必需,必需,可選) 實(shí)例: $rel='Welcome to xinz...
-
App開(kāi)發(fā)從策劃到上線(xiàn)的步驟
隨著(zhù)移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,大多數企業(yè)對應用程序的要求越來(lái)越嚴格,但在許多中小企業(yè)中,絕大多數企業(yè)發(fā)展仍然屬于我們傳統文化行業(yè)。所以企業(yè)想進(jìn)行應用程序開(kāi)發(fā),但由于對應用程序的理解非常有限,其開(kāi)發(fā)道路變得非常困難。 1、策劃明確主題功能...
-
什么是網(wǎng)站兼容性
1、頁(yè)面兼容性。目前的電子設備千奇百怪的,所以也就導致所做的網(wǎng)站頁(yè)面會(huì )在某個(gè)瀏覽器出現不兼容的情況。作為前端設計制作人員我們永遠不會(huì )知道客戶(hù)用哪個(gè)瀏覽器打開(kāi),所以能做的事情就是盡可能地按照W3C的標準去兼容主流瀏覽器,另外隨著(zhù)移動(dòng)端用戶(hù)的增多,還...
-
網(wǎng)站建設公司如何做網(wǎng)站頁(yè)面設計?
在網(wǎng)站建設過(guò)程中網(wǎng)頁(yè)設計有多重要?目前北京網(wǎng)站建設公司在報價(jià)環(huán)節網(wǎng)站設計占比為40%-50%,前端開(kāi)發(fā)和程序開(kāi)發(fā)兩項占比50%左右。在做網(wǎng)站頁(yè)面設計時(shí)候,我們應該考慮如何利用手中的有限數據來(lái)設定或選定框架及主體結構。以及使用什么樣的色調...
-
CRM如何提高工作效率
1、盡快完成對新、老客戶(hù)資料的整理錄入和完善工作,責成相關(guān)人員限期限量完成; 2、盡快定出銷(xiāo)售部門(mén)的工作量指標,要求業(yè)務(wù)員錄入客戶(hù)聯(lián)系記錄,并指派專(zhuān)人稽核; 3、盡快錄入企業(yè)歷年的銷(xiāo)售數據,可從近錄入期開(kāi)始往前錄入; ...