PHP 文件的上傳與檢測
2018-09-12 08:46:51
來源:
揚州市新竹網(wǎng)絡科技有限公司
系統(tǒng)變量: $_FILES是一個二維數(shù)組,一維是當前的文件上件控件的名稱,就是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']);
}
本站文章均為新竹網(wǎng)站建設摘自權威資料,書籍,或網(wǎng)絡原創(chuàng)文章,如有版權糾紛或者違規(guī)問題,請即刻聯(lián)系我們刪除,我們歡迎您分享,引用和轉載,我們謝絕直接復制和抄襲!感謝...
猜你喜歡
聯(lián)絡方式:
電話:18905275581
郵箱:1700970777@qq.com
微信公眾號
手機網(wǎng)站
小程序
我們猜你喜歡
-
PHP 文件的上傳與檢測
系統(tǒng)變量: $_FILES是一個二維數(shù)組,一維是當前的文件上件控件的名稱,就是name屬性值 二維是它的當前屬性,重要的有以下幾個: $_FILES['file']['name']: 文件原始名稱 $_FILES['...
-
PHP PDO連接數(shù)據(jù)庫
PDO連接數(shù)據(jù)庫: 設置數(shù)據(jù)庫類型 ,以及數(shù)據(jù)庫服務器和默認的數(shù)據(jù)庫名; $dsn='mysql:host=127.0.0.1;dbname=php'; 用戶名 $user='root'; ...
-
數(shù)據(jù)庫在ERP系統(tǒng)中的兩階段
一:軟件開發(fā)階段 1、數(shù)據(jù)庫標準化。它包含了編碼標準化、數(shù)據(jù)標準化、和維護標準化,這些都是軟件開發(fā)階段所需要注意的問題。 2、以數(shù)據(jù)為中心。ERP原始數(shù)據(jù)的采集、加工、整理...
-
如何使用抓取頻次工具
百度站長平臺使用的人有很多,可是依然有許多人不知道如何正確使用平臺中的站長工具. 一、什么是抓取頻次 抓取頻次是搜索引擎在單位時間內(天級)對網(wǎng)站服務器抓取的總次數(shù),如果搜索引...
-
怎么通過網(wǎng)站運營來獲取用戶
“用戶”,在揚州網(wǎng)站建設的小編看來,這應該是所有企業(yè)都非常關注的問題,尤其是精準用戶,因為用戶是維持企業(yè)發(fā)展的根本,而企業(yè)吸引的精準用戶越多,自然達成的訂單也會越多,并且也不必花費太多的時間和精力。那么,如何才能獲取更多的...