見出し画像

php ファイルアップロード機能実装

仕事の内容でファイルのアップロードについてわからないことがあったので調べました。

HTML側

<form method="post" enctype="multipart/form-data" action="up.php">
   <input type="file" name="file_name">
   <input type="submit" value="アップロード">
</form>

ファイルをアップロードする際、フォーム要素内にenctype="maltipart/form-data" を記述する必要があります。
決まり文句みたいなものです。

PHP側

<?php
$up_file  = "";
$up_ok = false;
$tmp_file = isset($_FILES["up"]["tmp_name"]) ? $_FILES["up"]["tmp_name"] : "";
$org_file = isset($_FILES["up"]["name"])     ? $_FILES["up"]["name"]     : "";
if( $tmp_file != "" &&
   is_uploaded_file($tmp_file) )
{
 $split = explode('.', $org_file); $ext = end($split);
 if( $ext != "" &&
     $ext != $org_file  )
 {
   $up_file = "img/". date("Ymd_His.") . mt_rand(1000,9999) . ".$ext";
   $up_ok = move_uploaded_file( $tmp_file, $up_file);
 }
}
?>
  • $_FILES["inputで指定したname"]["name"]:ファイル名

  • $_FILES["inputで指定したname"]["tmp_name"]:一時保存ファイル名

  • is_uploaded_file():HTTP POST でアップロードされたファイル稼働を調べえる関数

  • move_uploaded_file:ファイルの保存場所を変更する際に使用する関数。$_FILES["inputで指定したname"]["tmp_name"]で一時保存されたファイルを、移動させたいフォルダに移動させます。

ファイルアップロードするなら、最低でもこれらの知識が必要です。他にもファイルアップロードのエラー内容の表示などがありますので、気になる方は調べていただければと思います。

プログラミングの仕事をしたいと思っている方は、ここは抑えたほうがいいと思います。実際の業務で実装することが、私の場合はありました。

以上となります。
最後まで読んでいただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?