うわべのうわべ 3.サイト作り PHP7ファイルアップロード編?move_uploaded_file?

PHP7ファイルアップロード編?move_uploaded_file?

move_uploaded_fileを使いこなしてPHPでファイルアップロードを行う

PHPでファイルをアップロードする際の概念を考えましょう。ファイルのアップロードは、次のイメージで遷移していきます。

PHPのファイルアップロードイメージ

アップ1


■>PHPでファイルをアップロードする方法

ファイルをアップロードするためには、HTMLとPHPのファイルを準備します。

・imgsend.html

<!DOCTYPE html>
<html>

<head>
<meta content=”text/html; charset=utf-8″ http-equiv=”Content-Type”>
<title>無題 1</title>
</head>

<body>

<form name=”form” method=”post” enctype=”multipart/form-data” action=”imgsend.php”>
<input name=”File1″ type=”file”>
<input name=”Submit1″ type=”submit” value=”submit” />
</form>

</body>

</html>

・imgsend.php

<?php
//解説?
$img_name = $_FILES[“File1”][“name”];
$img_size = $_FILES[“File1”][“size”];
$img_type = $_FILES[“File1”][“type”];
$img_tmp = $_FILES[“File1”][“tmp_name”];

//解説?
list($file_name,$file_type) = explode(“.”,$img_name);

//解説?
$dateformat=date(“YmdHis”);

//解説?
$upforder = “ファイルをアップロードしたいフォルダーのパス”;

//解説?
$uploadfile = “$upforder$dateformat.$file_type”;

//解説?
print $uploadfile;

//解説?
move_uploaded_file( $img_tmp, $uploadfile);

?>

上記のファイルを作成してください。
imgsend.htmlでファイルを選択し、Submitボタンをクリックすると画面が遷移し、imgsend.phpで指定した先のフォルダーにリネームされて保存されます。

それでは、それぞれの構文の意味を見ていきましょう。


■解説

・//解説?
 $_FILES関数で、HTMLで選択されたファイルの情報を取得しています。
 ここでは、ファイル名、容量、ファイル種類、一時保管ファイル名を取得しています。

・//解説?
 list関数で変数をそれぞれ代入します。代入する値はexplode関数で作成しています。解説?で取得したファイル名を引数”.”で分割しそれぞれの変数に代入しています。
 <例> test.jpg → test と jpg へ分割

・//解説?
 アップロード後にリネームするためのファイル名を定義しています。ココではアップロード時間です。

・//解説?
 アップロードしたい先(フォルダー)を定義します。絶対パスと相対パスが指定できます。

・//解説?
 これがファイルをアップロードした後のフルパスとなります。

・//解説?
 変数の中身をテキスト表示します。

・//解説?
 ファイルのアップロード構文です。
 move_uploaded_file( 一時保管ファイル, ファイルアップロード先);
 となります。

[adcode1]


■まとめ

一、ファイルは一時保管場所からアップロードされる
二、拡張子に気をつけてアップ処理をする

[adcode0]

Related Post