首頁 >後端開發 >php教程 >如何使用php中move_uploaded_file函數

如何使用php中move_uploaded_file函數

不言
不言原創
2018-12-26 10:55:205427瀏覽

我們平時上傳的文件保存在臨時資料夾中,例如/ tmp,但臨時資料夾的內容在一段時間後會被刪除,因此為了將來要使用上傳文件,需要將內容保存在不太可能被任意刪除的專用目錄中,這時就需要使用move_uploaded_file函數,move_uploaded_file函數可用於更改客戶端請求上傳的檔案的儲存位置。

如何使用php中move_uploaded_file函數

我們來看看move_uploaded_file函數的寫法

首先我們必須將移動前的路徑指定為第一個參數。

基本上指定$ _FILES ['item name'] ['tmp_name']。

$ _FILES ['item name']表示該檔案的訊息,'[tmp_name']是保存在臨時資料夾中的檔案的路徑。

第二個參數指定目標路徑。

由於必須指定包含檔案名稱的完整路徑,因此請注意不要複製現有檔案名稱。

至於關聯數組的值,它作為範例的臨時值,並且它實際上會根據環境而改變。

Array(
    [name] => test.csv
    [type] => text/plain
    [tmp_name] => /tmp/php5dkdaFd
    [error] => 0
    [size] => 123
)

我們來實際寫一下

下面的程式碼假定使用項目名稱upload_csv上傳csv檔案。

此外,保存目標是“/ var / www / files /”,檔案名稱是基於當前日期和時間的隨機字串。

// 保存文件
$storeDir = '/var/www/files/';

// 在上传文件的时候,因为要指定基本的post,所以要检查是否指定了其他的值
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    exit('请指定POST方法');
}

//如果上传成功的话,[“error”]将保存0(= UPLOADIER ERR)
if ($_FILES['upload_csv']['error'] !== UPLOAD_ERR_OK) {
    exit('上传失败');
}

// 上传到[ ' type ' ]文件的Min类型
// 因此,检查上传的文件是否是CSV文件
if ($_FILES['upload_csv']['type'] !== 'text/csv') {
    exit('请上传CSV文件');
}

// 以现在的时间为基础,生成唯一的值并作为文件名
$filename = uniqid().'csv';
// 将文件从临时文件夹移动到指定目录
move_uploaded_file($_FILES['upload_csv']['tmp_name'], $storeDir.$filename);

這篇文章到這裡就全部結束了,更多精彩內容大家可以追蹤php中文網的相關教學欄位! ! !

以上是如何使用php中move_uploaded_file函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn