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"]で一時保存されたファイルを、移動させたいフォルダに移動させます。
ファイルアップロードするなら、最低でもこれらの知識が必要です。他にもファイルアップロードのエラー内容の表示などがありますので、気になる方は調べていただければと思います。
プログラミングの仕事をしたいと思っている方は、ここは抑えたほうがいいと思います。実際の業務で実装することが、私の場合はありました。
以上となります。
最後まで読んでいただきありがとうございました。