通常アップロードするファイルは/tmpなどの一時フォルダに保存されますが、一時フォルダの内容は一定期間が経過すると削除されますので、今後アップロードしたファイルを使用するためには、その内容を保存しておいてください。可能性の低い場所に保存する必要がある 任意に削除された特殊なディレクトリでは、move_uploaded_file 関数を使用する必要があります 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 サイトの他の関連記事を参照してください。