LoginSignup
1
2

More than 5 years have passed since last update.

PHPでファイルのアップロード、ダウンロード

Last updated at Posted at 2019-04-21

やりたいこと

PHPでファイルのアップロードとダウンロードを実現する。

アップロード
HTML側でinputタイプをfileに指定。

<form action="upload.php" method="post" enctype="multipart/form-data">
 <input type="file" name="image">
 <input type=submit value="ファイル送信">
</form>

選択されたファイルは受け取り側の$_FILESで受け取るので、この中身を参照して処理する。

・ファイル存在確認
isset($_FILES['image'])
・アップロードされたファイルと、一時保存されたファイルが一致するか確認
is_upload_file($_FILES['image']['tmp_name'])
・一時保存されたファイルを指定のフォルダへアップロード
move_upload_file($_FILES['image']['tmp_name'],"保存するファイル名")

おそらく一番シンプルな例だけど、ひとまずこの方法で実現した。

ダウンロード
ダウンロードするファイルパスと、ダウンロード時にデフォルトでつくファイル名の2つを指定する。

$filepath = "ダウンロードするファイルパス";
$filename = "ダウンロー時のファイル名";

header("content-type: application/octet-stream");
header("content-disposition: attachment; filename={$filename}");
header("content-length: ".filesize($filepath));
header("connection: close");
readfile($filepath);

他にも色々設定したり気をつけないといけないことはあるはずだけど、ひとまずこの方法で実現。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2