溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

單個文件上傳

發(fā)布時間:2020-03-01 07:20:35 來源:網(wǎng)絡(luò) 閱讀:335 作者:yuxin1234567890 欄目:網(wǎng)絡(luò)安全

一、新建一個1107.php文件,在文件中寫出如下代碼:

<DOCTYPE html>

<html>

<head>

<title>文件上傳</title>

</head>

<body>

<form method="post" action="t2.php" enctype="multipart/form-data">

<input type="hidden" name="MAX_FILE_SIZE" value="1000000"/><br>

選擇文件:<input type="file" name="myfile"/><br>

<input type="submit" value="上傳文件"/><br>

</form>

</body>

</html>


、新建一個t2.php文件,在文件中寫出如下代碼:


$allowtype=array("gif","png","jpg");        //設(shè)置允許上傳的文件類型

$size=1000000;                              //設(shè)置允許上傳的文件大小

$path="./uploads";                          //設(shè)置上傳后保存文件的路徑


//判斷文件是否可以成功上傳到服務(wù)器,$_FILES["myfile"]["error"]為0表示上傳成功

if($_FILES["myfile"]["error"]>0){

echo "文件上傳錯誤";

switch($_FILES["myfile"]["error"]){

case 1:die("上傳文件大小超出了PHP配置文件中的約定值");    break;

case 2:die("上傳文件大小超出了表單中中的約定值");        break;

case 3:die("文件只被部分上載");       break;

case 4:die("沒有上傳任何文件");        break;

default :die("未知錯誤");             break;

}

}


//通過文件的后綴名,判斷上傳的文件是否為允許的類型

$hz=array_pop(explode(".",$_FILES["myfile"]["name"]));

if(!in_array($hz,$allowtype)){

die("這個文件后綴是<b>{$hz}</b>,不是允許的文件類型!");

}


//判斷上傳的文件是否為允許大小

if($_FILES["myfile"]["name"]>$size){

die("超過了允許的<b>{$size}</b>字節(jié)大小");

}


//為了系統(tǒng)安全,也為了同名文件不被覆蓋,上傳后將文件名使用系統(tǒng)定義

$filename=date("YmdHis").rand(100,999).".".$hz;


//判斷是否為上傳文件

if(is_uploaded_file($_FILES["myfile"]["tmp_name"])){

if(!move_uploaded_file($_FILES["myfile"]["tmp_name"],$path."/".$filename)){

die("問題:不能將文件移動到指定目錄");

}

}else{

die("問題:上傳文件{$_FILES["myfile"]["name"]}不是一個合法文件!");

}


//如果文件上傳成功則輸出

echo "文件{$upfile}上傳成功,保存在目錄{$path}中,文件大小為{$_FILES["myfile"]["size"]}字節(jié)";


    執(zhí)行上例時,需要在當(dāng)前目錄創(chuàng)建一個uploads目錄(即文件夾)!

die()函數(shù)輸出一條消息,并退出當(dāng)前腳本

該函數(shù)是 exit() 函數(shù)的別名。

語法

die(status)
參數(shù)描述
status必需。規(guī)定在退出腳本之前寫入的消息或狀態(tài)號。狀態(tài)號不會被寫入輸出。

說明

如果 status 是字符串,則該函數(shù)會在退出前輸出字符串。

如果 status 是整數(shù),這個值會被用作退出狀態(tài)。退出狀態(tài)的值在 0 至 254 之間。退出狀態(tài) 255 由 PHP 保留,不會被使用。狀態(tài) 0 用于成功地終止程序。

提示和注釋

注釋:如果 PHP 的版本號大于等于 4.2.0,那么在 status 是整數(shù)的情況下,不會輸出該參數(shù)。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI