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



-
HTML/CSS基礎(chǔ)知識總結(jié)
在WEB中,HTML和CSS的布局是比不可少的。其中不同標簽和屬性的使用方法及作用與網(wǎng)站頁面緊密關(guān)聯(lián)。 Html頁面 <!doctype html><!-- xml xhtml 聲明 --> <html> <...
-
選擇靜態(tài)網(wǎng)站制作有什么好處
使用靜態(tài)網(wǎng)站制作可以顯得網(wǎng)站簡單大方,網(wǎng)站打開速度快,方便搜索引擎抓取,降低服務(wù)器壓力,可以使網(wǎng)站加載速度加快,能使用網(wǎng)站穩(wěn)定,做網(wǎng)站推廣時,能提高網(wǎng)站優(yōu)化效果。 做網(wǎng)站要以客戶為中心,網(wǎng)站要能讓客戶看著舒適,客戶要能看到想要看到的...
-
網(wǎng)站排名下降如何快速恢復(fù)
隨著搜索引擎優(yōu)化的不斷發(fā)展,各個網(wǎng)站的排名都會進行實時更新,任何原因都可能導致網(wǎng)站排名下降。那么網(wǎng)站排名下降如何快速恢復(fù)呢? 1、網(wǎng)站內(nèi)容。多寫一些高質(zhì)量的相關(guān)原創(chuàng)文章,增加搜索引擎的友好度,偽原創(chuàng)和轉(zhuǎn)載的那肯定是不行的,尤其是新...
-
如何有效使用站群外鏈
泰州網(wǎng)站建設(shè)隨著知識產(chǎn)權(quán)保護的推進,鏈接建設(shè)將變的更加艱難,特別是對于經(jīng)常采集的小伙伴。小伙伴發(fā)現(xiàn),花了幾千塊錢,做了大量外鏈,排名卻沒有任何改變。甚至出現(xiàn)停滯不前的現(xiàn)象,這與前一段,操作熊掌號,快速排名的策略完全相背。  ...
-
PHP函數(shù)的參數(shù)與作用域
函數(shù)的參數(shù) 通過參數(shù)列表可以傳遞信息到函數(shù),即以逗號作為分隔符的表達式列表。參數(shù)是從左向右求值的。 實例: function grade($name) { return '四年級的同學有...