PHP 文件的上傳與檢測
2018-09-12 08:46:51
來源:
揚州市新竹網絡科技有限公司
系統(tǒng)變量: $_FILES是一個二維數組,一維是當前的文件上件控件的名稱,就是name屬性值
二維是它的當前屬性,重要的有以下幾個:
$_FILES['file']['name']: 文件原始名稱
$_FILES['file']['type']: 文件類型
$_FILES['file']['size']: 上傳的文件大小
$_FILES['file']['tmp_name']: 服務器上的臨時文件夾
$_FILES['file']['error']: 上傳錯誤代碼
$_SERVER['PHP_SELF']:當前php腳本
enctype="multipart/form-data" :允許通過表單上傳文件
method:請求類型必須是POST
處理腳本的三種語法:
1. 嚴格的寫法:$_SERVER['PHP_SELF']:建議實際工作中用htmlspecialchars()進行防跨域攻擊處理
2. 死板的寫法,直接寫上當前文件名: demo6.php
3. 懶的寫法: 空,啥與不寫,默認就是提交到當前頁面的php腳本處理
form樣式
檢測請求類型是否POST
二維是它的當前屬性,重要的有以下幾個:
$_FILES['file']['name']: 文件原始名稱
$_FILES['file']['type']: 文件類型
$_FILES['file']['size']: 上傳的文件大小
$_FILES['file']['tmp_name']: 服務器上的臨時文件夾
$_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">
用隱藏域設置允許上傳的文件大小,僅考參考
<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配置中設置的大小';
break;
case 2:
echo '文件超過了表單中常量設置的大小';
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)也會在結束會話時自動清空
if (file_exists($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name'])) {
unlink($_FILES['upload']['tmp_name']);
}
本站文章均為新竹網站建設摘自權威資料,書籍,或網絡原創(chuàng)文章,如有版權糾紛或者違規(guī)問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,我們謝絕直接復制和抄襲!感謝...
猜你喜歡
聯絡方式:
電話:18905275581
郵箱:1700970777@qq.com
微信公眾號

手機網站

小程序

我們猜你喜歡
-
如何使用抓取頻次工具
百度站長平臺使用的人有很多,可是依然有許多人不知道如何正確使用平臺中的站長工具. 一、什么是抓取頻次 抓取頻次是搜索引擎在單位時間內(天級)對網站服務器抓取的總次數,如果搜索引...
-
HTML/CSS基礎知識總結
在WEB中,HTML和CSS的布局是比不可少的。其中不同標簽和屬性的使用方法及作用與網站頁面緊密關聯。 Html頁面 <!doctype html><!-- xml xhtml 聲明 --> <html> <...
-
PHP 類的繼承與方法重寫
類的繼承與方法重寫 class Demo1 { 父類屬性 private $name; p...
-
PHP 數據庫的鏈接
數據庫的連接 配置數據庫config.php $db=[ 'host'=>'127.0.0.1',本機IP地址 'user'=>...
-
小程序開發(fā)公司都是用什么框架來開發(fā)小程序
小程序開發(fā)會有多種選擇,現在有很多種框架都可以進行小程序制作。而Z終編譯的結果也是將框架按照原生來進行編譯,說白了還是跟原生開發(fā)靠攏。 像很多大公司做開發(fā)的話通常都會選擇用原生來進行開發(fā),畢竟原生是官方的規(guī)則,根據官方規(guī)則做出來的東...