0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PHPで画像をアップロード

Posted at

学習をしていく中で、理解が難しかったので、要点をまとめてみました。

まず前提として、HTMLでフォーム画面に以下の記述が必要になります。

<input type="file" enctype="multipart/form-data" method="post" name="img">
//nameは任意
//enctypeは画像の情報を送信するのに必要なおまじないと思ってください。

#画像をアップロードする流れ
①移動先のディレクトリを変数に格納する
②一時的に保存するファイルを変数に格納する
③アップロードしたい画像のファイル名を変数に格納する
④move_file_uploads関数でアップロードする

#①移動先のディレクトリを変数に格納する

$uploads_dir = './uploads';

のちの記述をすっきりさせるために格納させています。

#②一時的に保存するファイルを変数に格納する

$tmp = $_FILES['img']['tmp_name'];
//imgはinputで記述したnameの中身です
var_dump($tmp);
//string(14) "/tmp/phpimzszk"

tmp_nameとはアップロードした画像ファイルをサーバー上で一時的に保存する場所のファイル名です

#③アップロードしたい画像のファイル名を変数に格納する

$name = basename($_FILES['img']['name']);
//imgはinputで記述したnameの中身です
var_dump($name);
//string(9) "melon.jpg" 画像ファイル

basename関数でファイル名を取得します。この記事がかなり分かり易かったので参考にしました。
https://www.flatflag.nir87.com/basename-844
$FILES['img']['name']がファイル名です

#④move_file_uploads関数でアップロードする

move_file_uploads($tmp, "$uploads_dir/$name");
//move_file_uploads(もとにあるファイル名, 移動先のファイル名)

詳しくはこちらをご参照ください
https://www.php.net/manual/ja/function.move-uploaded-file.php

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?