UpLoader構築 PHPアップローダー
ファイルの授受を簡単に出来るアップローダーをPHPにて構築する。
ファイルのアップロード/ダウンロードが簡単に行えるアップローダを設置することにより、簡単な操作でファイルの授受をを可能とし、古いファイルを自動消去することによりゴミが蓄積していくことも防止できる。
目的
簡易な操作によるファイルの送受を可能とする。
構築条件
構築機器
- 仮想サーバ SUN VirtualBox 4.0 で構築
作成環境
OS | CentOS 6.0 64bit版 |
サーバ作成条件
サーバIP | 192.168.0.10/24 |
ホスト名 | hogehogeServer |
user | hogehoge |
userpasswd | hogehogepass |
手順記入ルール
- コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
- コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。
ファイル入手
サイト
- 「PHPアップローダー」
http://www.k-php.com/script/uploda/
今回インストールしたファイル
- ★今回は、UTF-8化等の改良を行った以下サイトのツールを使用
http://susu.cc/2011/06/phpuploader_utf-8-xhtml10.html
前準備
- CentOSインストール 実施
- yumリポジトリ設定 実施
- LAMPサーバ構築 実施
インストール
(1)ファイル転送
【FTP】
ftp にて、ユーザエリア「/home/hogehoge」に「uploda_susu-kai.zip」をアップ
(2)PHPアップローダをインストール
【telnet】
$ su パスワード:
- パッケージがあるか確認
# ls -l
-rw-rw-r-- 1 hogehoge hogehoge 6864 10月 5 22:19 2011 uploda_susu-kai.zip
- パッケージを解凍
# unzip uploda_susu-kai.zip
Archive: uploda_susu-kai.zip extracting: uploda/alllog.cgi extracting: uploda/count.cgi :
- 解凍ファイルがあるか確認
# ls -l
drwxr-xr-x 3 root root 4096 11月 24 23:21 2011 uploda -rw-rw-r-- 1 hogehoge hogehoge 6864 10月 5 22:19 2011 uploda_susu-kai.zip
(3)ファイルのコピー
- web直下ディレクトリにコピー
# cp -R uploda /var/www/html/
- 確認
# ls -l /var/www/html/
drwxr-xr-x 3 root root 4096 11月 24 23:27 2011 uploda
- 所有者変更
# chown -R apache:apache /var/www/html/uploda/
- 確認
# ls -l /var/www/html/
drwxr-xr-x 3 apache apache 4096 11月 24 23:27 2011 uploda
(4)権限変更
- 確認
# ls -l /var/www/html/uploda/
-rw-r--r-- 1 apache apache 0 11月 24 23:27 2011 alllog.cgi -rw-r--r-- 1 apache apache 1 11月 24 23:27 2011 count.cgi -rw-r--r-- 1 apache apache 19707 11月 24 23:27 2011 index.php -rw-r--r-- 1 apache apache 0 11月 24 23:27 2011 last.cgi drwxr-xr-x 2 apache apache 4096 11月 24 23:27 2011 src -rw-r--r-- 1 apache apache 801 11月 24 23:27 2011 style.css -rw-r--r-- 1 apache apache 231 11月 24 23:27 2011 tbg.png
- 権限変更
# chmod -R 705 /var/www/html/uploda/ # chmod 606 /var/www/html/uploda/alllog.cgi # chmod 606 /var/www/html/uploda/count.cgi # chmod 606 /var/www/html/uploda/last.cgi # chmod -R 707 /var/www/html/uploda/src
- 確認
# ls -l /var/www/html/uploda/
-rw----rw- 1 apache apache 0 11月 24 23:27 2011 alllog.cgi -rw----rw- 1 apache apache 1 11月 24 23:27 2011 count.cgi -rwx---r-x 1 apache apache 19707 11月 24 23:27 2011 index.php -rw----rw- 1 apache apache 0 11月 24 23:27 2011 last.cgi drwx---rwx 2 apache apache 4096 11月 24 23:27 2011 src -rwx---r-x 1 apache apache 801 11月 24 23:27 2011 style.css -rwx---r-x 1 apache apache 231 11月 24 23:27 2011 tbg.png
- 終了
# exit exit $
動作確認
【Web】
PHPアップローダにアクセスし以下ログイン画面が出ることを確認
設定
(1)アップロードサーズ変更
PHP初期値2MBであるため、必要に応じ変更する。
★アップロードサイズをデフォルト2MB→16MBに拡大する場合
- PHP.ini変更
# vi /etc/php.ini
memory_limit = 128M post_max_size = 8M upload_max_filesize = 2M ↓ memory_limit = 128M post_max_size = 16M upload_max_filesize = 16M
★必ず
memory_limit ≧ post_max_size ≧ upload_max_filesize
となるようにすること
- Apache再起動
# /etc/rc.d/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
- index.php変更
# vi /var/www/html/uploda/index.php
# 最大ファイルバイト数(KBで指定) var $max_file = "2048";
↓
var $max_file = "16384";
(2)アップ可能拡張子追加
★「csv」拡張子を追加する場合
- PHP.ini変更
# vi /var/www/html/uploda/index.php
- 以下変数に拡張子を追加
# アップロードできる拡張子 var $upok = array("gif","bmp","png","jpg","jpeg","zip","lzh","txt","rar","gca","mpg","mp3" ,"mp4","avi","swf","doc","3gp","amc","mid","pdf","ppt","xls","wmv","wav","flv","ai","psd", "7z","tif","ico","ani","cur");
↓# アップロードできる拡張子 var $upok = array("gif","bmp","png","jpg","jpeg","zip","lzh","txt","rar","gca","mpg","mp3" ,"mp4","avi","swf","doc","3gp","amc","mid","pdf","ppt","xls","wmv","wav","flv","ai","psd", "7z","tif","ico","ani","cur","csv");
遭遇したトラブル
特に無し
問題:
-
原因:
-
謝辞
テキスト作成にあたり、以下サイトを参考にさせて頂きました。ありがとうございます。
http://www.k-php.com/script/index.html
http://susu.cc/2011/06/phpuploader_utf-8-xhtml10.html