PHP 文件的上傳與檢測
二維是它的當(dāng)前屬性,重要的有以下幾個:
$_FILES['file']['name']: 文件原始名稱
$_FILES['file']['type']: 文件類型
$_FILES['file']['size']: 上傳的文件大小
$_FILES['file']['tmp_name']: 服務(wù)器上的臨時文件夾
$_FILES['file']['error']: 上傳錯誤代碼
$_SERVER['PHP_SELF']:當(dāng)前php腳本
enctype="multipart/form-data" :允許通過表單上傳文件
method:請求類型必須是POST
處理腳本的三種語法:
1. 嚴(yán)格的寫法:$_SERVER['PHP_SELF']:建議實際工作中用htmlspecialchars()進(jìn)行防跨域攻擊處理
2. 死板的寫法,直接寫上當(dāng)前文件名: demo6.php
3. 懶的寫法: 空,啥與不寫,默認(rèn)就是提交到當(dāng)前頁面的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']}")
對上傳錯誤進(jìn)行處理
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)建的臨時文件刪除,當(dāng)然系統(tǒng)也會在結(jié)束會話時自動清空
if (file_exists($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name'])) {
unlink($_FILES['upload']['tmp_name']);
}
猜你喜歡
聯(lián)絡(luò)方式:
電話:18905275581
郵箱:1700970777@qq.com



-
新手如何做好網(wǎng)站建設(shè)?
新手在做網(wǎng)站建設(shè)前先要做好網(wǎng)站策劃,要把網(wǎng)站要求,網(wǎng)站功能,網(wǎng)站設(shè)計等要求定位好,網(wǎng)站內(nèi)容資料要準(zhǔn)備,網(wǎng)站圖片要設(shè)計好。 先要把域名和主機(jī)購買了,可以去阿里去,騰訊云等平臺購買,域名注冊要實名認(rèn)證,要注冊好記有用...
-
小程序開發(fā)公司都是用什么框架來開發(fā)小程序
小程序開發(fā)會有多種選擇,現(xiàn)在有很多種框架都可以進(jìn)行小程序制作。而Z終編譯的結(jié)果也是將框架按照原生來進(jìn)行編譯,說白了還是跟原生開發(fā)靠攏。 像很多大公司做開發(fā)的話通常都會選擇用原生來進(jìn)行開發(fā),畢竟原生是官方的規(guī)則,根據(jù)官方規(guī)則做出來的東...
-
CMS系統(tǒng)在網(wǎng)站建設(shè)中的重要性
1、CMS系統(tǒng)可以降低網(wǎng)站建設(shè)的門檻。傳統(tǒng)的網(wǎng)站建設(shè)需要企業(yè)具備開發(fā)技術(shù)和設(shè)計能力,這對于普通企業(yè)來說,往往是一項不小的挑戰(zhàn)。然而,在使用CMS系統(tǒng)之后,企業(yè)無需擁有開發(fā)技術(shù)和設(shè)計能力,只需要選擇一個適合自己的主題,然后通過簡單的操作即可將網(wǎng)站建...
-
如何對自己的網(wǎng)站進(jìn)行推廣
網(wǎng)站推廣可以讓網(wǎng)站迅速提升流量,而流量是網(wǎng)站是否能做成功的關(guān)鍵,但網(wǎng)站推廣不是一時半會就能完成的事,需要付出大量的時間與精力。這種情況下,建站公司將網(wǎng)站制作好如何以少量的時間和精力去巧妙的推廣網(wǎng)站,事半功倍。 1、文章標(biāo)題的設(shè)定 俗...
-
微信小程序和H5功能上有哪些區(qū)別
隨著移動互聯(lián)網(wǎng)的發(fā)展,許多應(yīng)用在不斷的產(chǎn)生,要說現(xiàn)在更新快、開放功能多的應(yīng)用,只能是微信小程序了。微信小程序開放了60多個流量入口,更新了各種新的功能,尤其是之前實現(xiàn)的頁面跳轉(zhuǎn)功能,給開發(fā)者帶來了好消息,但同時也有人說這是H5。那么,微信小程序和...