ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列を使用してファイルのアップロードおよびダウンロード機能を実装する方法
PHP 配列を使用してファイルのアップロードおよびダウンロード関数を実装する方法
1. 概要
ファイルのアップロードおよびダウンロードは、Web アプリケーションの一般的な関数の 1 つです。 PHP 配列は、ファイルのアップロードおよびダウンロード機能を実装するときに非常に役立つ非常に便利なデータ構造です。この記事では、PHP 配列を使用してファイルのアップロードおよびダウンロード機能を実装する方法を紹介し、対応するコード例を添付します。
2. ファイル アップロード機能の実装
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="上传文件"> </form>
<?php if ($_FILES["file"]["error"] == 0) { $filename = $_FILES["file"]["name"]; $tempname = $_FILES["file"]["tmp_name"]; $destination = "uploads/" . $filename; if (move_uploaded_file($tempname, $destination)) { echo "文件上传成功!"; } else { echo "文件上传失败!"; } } else { echo "文件上传发生错误!"; } ?>
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="上传文件"> </form>
<?php if ($_FILES["file"]["error"] == 0) { $filename = $_FILES["file"]["name"]; $tempname = $_FILES["file"]["tmp_name"]; $destination = "uploads/" . $filename; if (move_uploaded_file($tempname, $destination)) { echo "文件上传成功!"; } else { echo "文件上传失败!"; } } else { echo "文件上传发生错误!"; } ?>
3. ファイル ダウンロード関数の実装
<?php $files = array_diff(scandir("uploads/"), array(".", "..")); foreach ($files as $file) { echo "<a href='download.php?file=$file'>$file</a><br>"; } ?>
<?php if (isset($_GET["file"])) { $filename = $_GET["file"]; $filepath = "uploads/" . $filename; if (file_exists($filepath)) { header("Content-Disposition: attachment; filename=" . $filename); header("Content-Type: application/octet-stream"); header("Content-Length: " . filesize($filepath)); readfile($filepath); } else { echo "文件不存在!"; } } else { echo "参数错误!"; } ?>
<?php $files = array_diff(scandir("uploads/"), array(".", "..")); foreach ($files as $file) { echo "<a href='download.php?file=$file'>$file</a><br>"; } ?> <?php if (isset($_GET["file"])) { $filename = $_GET["file"]; $filepath = "uploads/" . $filename; if (file_exists($filepath)) { header("Content-Disposition: attachment; filename=" . $filename); header("Content-Type: application/octet-stream"); header("Content-Length: " . filesize($filepath)); readfile($filepath); } else { echo "文件不存在!"; } } else { echo "参数错误!"; } ?>
IV. 概要
PHP を使用する場合配列 を使用すると、ファイルのアップロードおよびダウンロード機能を簡単かつ効率的に実装できます。ファイルのアップロードでは、$_FILES 配列を通じてファイル関連の情報を取得し、move_uploaded_file 関数を使用してファイルを指定したディレクトリに移動します。ファイルのダウンロードでは、ダウンロードするファイル名を$_GET配列で取得し、対応するファイルをブラウザに送信します。この記事のサンプル コードが役に立ち、ファイルのアップロードとダウンロード機能を簡単に実装できることを願っています。
以上がPHP 配列を使用してファイルのアップロードおよびダウンロード機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。