ホームページ  >  記事  >  バックエンド開発  >  PHPでmove_uploaded_file関数を使用する方法

PHPでmove_uploaded_file関数を使用する方法

不言
不言オリジナル
2018-12-26 10:55:205396ブラウズ

通常アップロードするファイルは/tmpなどの一時フォルダに保存されますが、一時フォルダの内容は一定期間が経過すると削除されますので、今後アップロードしたファイルを使用するためには、その内容を保存しておいてください。可能性の低い場所に保存する必要がある 任意に削除された特殊なディレクトリでは、move_uploaded_file 関数を使用する必要があります move_uploaded_file 関数を使用すると、クライアントがアップロードを要求したファイルの保存場所を変更できます。

PHPでmove_uploaded_file関数を使用する方法

move_uploaded_file 関数の書き方を見てみましょう

まず最初のパラメータとして移動前のパスを指定する必要があります。

基本的には$_FILES['項目名']['tmp_name']を指定します。

$ _FILES ['項目名'] はファイルの情報を表し、'[tmp_name'] は一時フォルダーに保存されたファイルのパスを表します。

2 番目のパラメータはターゲット パスを指定します。

ファイル名を含むフルパスで指定する必要があるため、既存のファイル名をコピーしないように注意してください。

連想配列の値は例のための一時的な値であり、実際には環境によって変わります。

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 中国語 Web サイトの関連するチュートリアルの列に注目してください。 ! !

以上がPHPでmove_uploaded_file関数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。