您好,登錄后才能下訂單哦!
一、新建一個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"); //設置允許上傳的文件類型
$size=1000000; //設置允許上傳的文件大小
$path="./uploads"; //設置上傳后保存文件的路徑
//判斷文件是否可以成功上傳到服務器,$_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>字節大小");
}
//為了系統安全,也為了同名文件不被覆蓋,上傳后將文件名使用系統定義
$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"]}字節";
執行上例時,需要在當前目錄創建一個uploads目錄(即文件夾)!
die()函數輸出一條消息,并退出當前腳本
該函數是 exit() 函數的別名。
die(status)
參數 | 描述 |
---|---|
status | 必需。規定在退出腳本之前寫入的消息或狀態號。狀態號不會被寫入輸出。 |
如果 status 是字符串,則該函數會在退出前輸出字符串。
如果 status 是整數,這個值會被用作退出狀態。退出狀態的值在 0 至 254 之間。退出狀態 255 由 PHP 保留,不會被使用。狀態 0 用于成功地終止程序。
注釋:如果 PHP 的版本號大于等于 4.2.0,那么在 status 是整數的情況下,不會輸出該參數。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。