PHPアップローダー

Last-modified: 2011-11-27 (日) 10:41:55
最終更新:2011-11-27 (日) 10:41:55
アクセス数(合計):?
利用者; ? アクセス数(本日):? アクセス数(昨日):?

UpLoader構築 PHPアップローダー

ファイルの授受を簡単に出来るアップローダーをPHPにて構築する。
ファイルのアップロード/ダウンロードが簡単に行えるアップローダを設置することにより、簡単な操作でファイルの授受をを可能とし、古いファイルを自動消去することによりゴミが蓄積していくことも防止できる。


目的

簡易な操作によるファイルの送受を可能とする。

構築条件

構築機器

作成環境

OS    CentOS 6.0 64bit版

サーバ作成条件

サーバIP192.168.0.10/24
ホスト名hogehogeServer
user   hogehoge
userpasswdhogehogepass

手順記入ルール

  • コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
  • コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。

ファイル入手

サイト

今回インストールしたファイル

前準備

  1. CentOSインストール 実施
  2. yumリポジトリ設定 実施
  3. 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アップローダにアクセスし以下ログイン画面が出ることを確認

  http://192.168.0.10/uploda/

uoloda-01.jpg

設定

(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