問題
phpでファイルをアップロードするには?
解決策
- formタグを用意し、「enctype="multipart/form-data"」を設定します。
- 中にinputタグを配置し、「type="file"」を設定します。
- 送信時の処理で「is_uploaded_file」と「move_uploaded_file」を使い、任意のディレクトリに保存します。
phpでのファイルのアップロード
phpでファイルをアップロードする方法をご紹介します。
フォームの用意(HTML)
- まず、formタグを用意します。
そのformタグに「enctype=”multipart/form-data”」を設定します。 - 次に中にinputタグを配置します。
そのinputタグ「type=”file”」を設定します。
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" accept="application/pdf">
</form>
ここに注意!
inputタグでfileを使う場合、formタグに「enctype=”multipart/form-data”」を設定する必要があります。
フォームの送信処理(PHP)
- フォームから受け取った一時ファイル名は$_FILES[inputのname値][‘tmp_name’]で取得できます。
- フォームから受け取った実際のファイル名は$_FILES[inputのname値][‘name’]で取得できます。
- アップロードが出来たかどうかを「is_uploaded_file( 一時ファイル )」で判定します。
- アップロードが出来たら「move_uploaded_file( 一時ファイル , 新しい移動先 )」で指定の場所に移動させます。
$tempfile = $_FILES['file']['tmp_name'];
$filename = $_FILES['file']['name'];
if (is_uploaded_file($tempfile)) {
if ( move_uploaded_file($tempfile , $filename )) {
echo 'ファイルのアップロードが成功しました。';
}else{
echo 'ファイルのアップロードに失敗しました。';
}
}
参照
【PHPでファイルアップロードを実装する方法 | UX MILK】
https://uxmilk.jp/14317
コメント