【Labs】PHPでファイルの送信フォーム
こんにちは(・∀・)
今日はファイルを送信することができるフォームのサンプルをご紹介します❗️
Contents
通常のファイルの送信フォームと複数のファイルを選択して送信できるフォームのサンプルです。
1. ファイルの送信フォーム
通常のファイル送信フォームのサンプルです。
アップロードされたファイルを保存するフォルダーfilesフォルダーを作ってupload.phpと同じディレクトリに設置してください。
index.html
<form action="upload.php" method="post" enctype="multipart/form-data">
<p><input type="file" name="upfile" required></p>
<p><button type="submit">upload</button><button type="reset">reset</button></p>
</form>
upload.php
<?php
if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
$uploadFile = date("YmdHis-").$_FILES["upfile"]["name"];
if (move_uploaded_file($_FILES["upfile"]["tmp_name"],"files/".$uploadFile)) {
chmod($uploadFile, 0644);
echo "<p class='true'>".$_FILES["upfile"]["name"]." をアップロードしました</p>";
echo '<button type="button" onclick="history.go(-1)">back</button>';
} else {
echo "<p class='false'>アップロードできませんでした</p>";
echo '<button type="button" onclick="history.go(-1)">back</button>';
}
} else {
echo "<p class='false'>".$_FILES["upfile"]["name"][$i]." をアップロードできませんでした</p>";
echo '<button type="button" onclick="history.go(-1)">back</button>';
}
?>
Result
サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
2. 複数ファイルの送信フォーム
複数のファイルを選択して送信することができるフォームのサンプルです。
アップロードされたファイルを保存するフォルダーfilesフォルダーを作ってupload.phpと同じディレクトリに設置してください。
index.html
<form action="upload.php" method="post" enctype="multipart/form-data">
<p><input type="file" name="upfile[]" multiple required></p>
<p><button type="submit">upload</button><button type="reset">reset</button></p>
</form>
upload.php
<?php
for ($i = 0; $i< count($_FILES["upfile"]["tmp_name"]); $i++) {
if (is_uploaded_file($_FILES["upfile"]["tmp_name"][$i])) {
$uploadFile = date("YmdHis-").$_FILES["upfile"]["name"][$i];
if (move_uploaded_file($_FILES["upfile"]["tmp_name"][$i], "files/".$uploadFile)) {
chmod($uploadFile, 0644);
echo "<p class='true'>".$_FILES["upfile"]["name"][$i]." をアップロードしました</p>";
echo '<button type="button" onclick="history.go(-1)">back</button>';
echo nl2br("\n");
} else {
echo "<p class='false'>アップロードできませんでした</p>";
echo '<button type="button" onclick="history.go(-1)">back</button>';
}
} else {
echo "<p class='false'>".$_FILES["upfile"]["name"][$i]." をアップロードできませんでした</p>";
echo '<button type="button" onclick="history.go(-1)">back</button>';
}
}
?>
ファイルを複数選択する方法
WindowsではSHIFTキー or CTRLキーを押しながら選択、MacではSHIFTキー or COMMANDキーを押しながら選択。
Result
サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
参考サイト
【PHP】フォームでファイルを添付送信する方法
たくあんのチラシ裏