前回の記事より、今回は一つ目の処理であるスマホからエクスポートしたテキストファイルをフォームからアップロードについての記事だ
テキストファイルのアップローダー作成
投稿フォームはPHPで作る
PHPのインストール方法はこちらを参考にされたし
手順
①ディレクトリを作成
②投稿用フォーム、txt_form.phpを作成・編集
③投稿後の処理をする, txt_post.phpを作成・編集
構造は以下に
/save
|- txt_form.php
|- txt_post.php
|- アップロードされた.txt
ディレクトリ作成
PHPファイル、およびアップロードされたファイルを保存するディレクトリを作成する
筆者はドキュメントルート下にsaveというディレクトリを作成し、そこにPHPファイルとアップロードされたテキストファイルを保存する
$sudo mkdir save
txt_form.phpの編集
txt_form.phpに記述する
txt_form.php
<!DOCKTYPE html>
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=yes" />
<title>暫定版LINE解析アプリ</title>
</head>
<body>
<form action="txt_post.php" method="POST" enctype="multipart/form-data">
<p>
<input type="file" name="txt">
</p>
<p>
<input type="submit" value="送信する">
</p>
</form>
</body>
</html>
スマホ・パソコンでも最低限見やすい(レスポンシブ対応)ページになっている
txt_post.phpの編集
txt_post.php
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
//ファイルが送信されていない場合はエラー処理
if(!isset($_FILES['txt'])){
echo 'ファイルが送信されていません。';
exit;
}
$save = '../save/' . basename($_FILES['txt']['name']);
//move_uploaded_fileで、一時ファイルを保存先ディレクトリに移動させる
if(move_uploaded_file($_FILES['txt']['tmp_name'], $save)){
echo 'アップロード成功!';
}else{
echo 'アップロード失敗!';
exit;
}
?>
$save変数に、アップロードされたテキストファイルを保存するディレクトリのパスを代入する
またbasenameを使うことにより、/var/www/html/save/txt_post.phpに直にアクセスされた場合は「ファイルが送信されていません」と出力するようになっている