サーバーとしての機能を拡張する為、ラズパイにPHP7.1をインストールします。
「ファイルマネージャ」を起動して、”/etc/apt”を開き、”sources.list”を右クリックして、”nano”を左クリックします。
コンテキストメニュー(右クリック)への”nano”の登録は、以前の記事「ラズパイでサーバー構築! Apache/設定編」を参照してください。
apt-getのsourceとして、次のリポジトリを追記して、保存(Ctrl+O → Enter)し、閉じ(Ctrl+X)ます。
deb http://repozytorium.mati75.eu/debian jessie-backports main contrib non-free
追記したリポジトリの公開鍵を”gpg”コマンドで登録します。
sudo su
gpg --keyserver pgpkeys.mit.edu --recv-key CCD91D6111A06851
gpg --armor --export CCD91D6111A06851 | sudo apt-key add -
”update”でパッケージのリストを更新しておきます。
apt update
追加したリポジトリから、4項目のパッケージがリストアップされました。
“update”したパッケージのリストにPHPのどのバージョンが含まれているか調べます。
apt-cache policy php
このパッケージに含まれるPHPは、”ver.7.1″だけなので、そのままインストールします。
sudo apt-get install php7.1 -y
「Text Editor」を起動して、次のコードを入力します。
<?php $uploaddir = '/var/www/file/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "<b>Upload success.</b>"; } else { echo "<b>Upload failed.</b>"; } // DEBUG // print_r($_FILES); ?>
ファイルから「保存」をクリックすると、「別名で保存」画面が開くので、項目「名前」の入力欄に”uploads.php”と入力して、左側の「場所」枠から「pi」をクリックし、開いた「名前」枠から、以前の記事でApacheのDocumentRootに指定した”www”をダブルクリックして、「保存」ボタンをクリックします。
もう一度、「Text Editor」を起動して、次のコードを入力します。
<!doctype html> <html lang=ja> <meta charset=utf-8> <form enctype="multipart/form-data" action="upload.php" method="POST"> <input name="userfile" type="file" /> <input type="submit" value="アップロード" /> </form>
ファイルから「保存」をクリックすると、「別名で保存」画面が開くので、項目「名前」の入力欄に”index.html”と入力して、左側の「場所」枠から「pi」をクリックし、開いた「名前」枠から、以前の記事でApacheのDocumentRootに指定した”www”をダブルクリックして、「保存」ボタンをクリックします。
「ファイルマネージャ」を起動して、ApacheのDocumentRoot:”/home/pi/www”を開き、何もないところで右クリックして、「新規作成」→「フォルダ」を左クリックします。
「フォルダの新規作成」画面の入力欄に”uploads”と入力して、「OK」ボタンをクリックします。
「新規作成」したフォルダ”uploads”を右クリックして、「ファイルのプロパティ」を左クリックします。
「ファイルのプロパティ」画面のタブ「パーミッション」を開いて、項目「内容の変更」のプルダウンメニューから「すべて」を選択し、「OK」ボタンをクリックします。
「確認」画面の「はい」ボタンをクリックします。
Chromiumを起動して、アドレス欄に”localhost”と入力すると、先程htmlとPHPで作成したファイルのアップロードページが表示されます。
PC側でもブラウザも起動し、アドレス欄にラズパイのIPアドレスを入力すると、こちらでも同じアップロードページが表示されるので、「ファイルを選択」ボタンをクリックします。
「開く」画面が現れるので、アップロードするファイル(この例では840.png)を選択して、「開く」ボタンをクリックします。
ブラウザの「ファイルを選択」ボタンの右にアップロードするファイル名が表示されていることを確認した上で、「アップロード」ボタンをクリックします。
アップロードが成功するとブラウザに”Upload success”と表示されます。
ラズパイに戻って「ファイルマネージャ」を起動して、”/home/pi/www”を開くと、PC側からアップロードしたファイル:”840.png”が保存されていました。