PHPFM

久々のパソコン(XOOPS)ネタです

PHPFM

もちろんXOOPS用モジュールで
ユーザー間でファイルを共有できるモジュールです。

東京と大阪のように違う場所でお仕事していても
インターネット上でファイルを共有が可能だと
ファイルをメールに添付して送る必要も無いし

添付出来る容量が少ないプロバイダとか
企業内で制限している場合などは大容量のファイルは
添付出来ないのでファイルを小刻みにして何度も
送る必要が有ります

PHPFMを使えば
ある程度の容量のファイルをアップロードなり
ダウンロードする事が可能になります

どの程度の容量がアップロードできるのかは php.ini
upload_max_filesizeの項目に指定されています
一般のサーバーだと2M程度らしいです

※直接php.iniを見る事が出来なくても phpinfo() が置ければそれで確認できます

幸いにもワタクシが借りているサーバーは32M
が指定されており実際に可能かどうかは別として
数字的には32MBまでアップロード可能と言う事です

phpinfoイメージ

upload_max_filesizephp.iniで設定される数値ですから
サーバー管理者以外に変更は出来ません
しかし、ユーザー設定でphp.iniを置けるサーバーも存在しますので確かめて下さい

PHPFMをインストールして
ちょっと判り辛いかも?って思った事があるので備忘録として書いておきます

基本的にphpfmを展開後XOOPS_ROOT/modules/
phpfmのフォルダーごとFTPしてモジュールをインストールすればOKです
以下は設定ファイルはそのままでインストールした状態と考えて下さい

1.トップページのユーザーメニューに「ファイルマネージャー」(PHPFM)を表示する

XOOPS_ROOT/modules/phpfm/xoops_version.php
の内容を書き換えます(14行目くらい)

// Menu
$modversion[‘hasMain’] = 0; → $modversion[‘hasMain’] = 1;

0→1へ変更するだけでOK

変更が終わったら EUC-JP で保存してFTPでアップロードします
S-JISで保存したらどうなるのかは不明です(笑

変更を反映する為にはモジュールのアップデートが必要です

アップデートの方法
管理者メニュー→システム管理→モジュール管理

アップデートイメージ

赤丸(ハードディスクのアイコン?)をクリックすれば自動的にアップデートされます

アクセス可能なユーザーを変更するには
管理者メニュー→システム管理→グループ管理
新しいグループを作るなりしてからモジュールアクセス権を許可します

どのように運用するか良く考えた上で自己責任で適宜設定して下さい。
ワタクシの場合
登録ユーザーとは別にファイル管理者のグループを作成して
ファイルマネージャーへのアクセスを許可しております
(イメージの真ん中はカットして有ります)
アクセス許可イメージ

話が横道にそれますが・・・
ワタクシの環境でPHPFM.ZIPを展開したら

$modversion[‘name’] = ‘・・・・・・・・・・・・・・¼・・・・・・¼’;
$modversion[‘description’] = ‘・・・・・・・・・・・・・・¼・・・・・・¼・・・・・・・・¼・・・・・・・・¹’;

と文字化けしてました(文字コードでしょうかね?)
なんて書いてあったのか不明だったので

$modversion[‘name’] = ‘ファイルマネージャー’;
$modversion[‘description’] = ‘ファイルマネージャー’;

と書いておきました(笑

2.ユーザー向け設定を変更する場合
XOOPS_ROOT/modules/phpfm/conf/config.inc.php
を変更します(adminでもメニューから入ればこの設定です)

変更の必要があるとすれば
8行目
$home_directory = “./users/”;
と30行目以降の
$AllowCreateFile = FALSE;
$AllowCreateFolder = FALSE;
$AllowDownload = TRUE;
$AllowRename = FALSE;
$AllowUpload = TRUE;
$AllowDelete = FALSE;
$AllowView = TRUE;
$AllowEdit = FALSE;

でしょうか?

このファイルはFTPしてやれば即有効になりますので
モジュールのアップデートは必要有りません

$home_directory = “./” とした場合
XOOPS_ROOT/modules/phpfm/ が読み書きするディレクトリとなります
ワタクシの環境では
XOOPS_ROOT/modules/phpfm/users/ として chmod 777 しても
なぜか書き込めませんでしたので(modulesの下がまずいのか?)
仕方が無いので
XOOPS_ROOT/phpfm/users/
こんな感じでディレクトリを作成してchmod777したら
読み書き出来たので深くは追求していません

また
$home_directory = “./users/”;
のように指定ディレクトリは ‘/’ で終わっていないと
「スラッシュが無いよ」みたいなエラーが出ます(思いっきり意訳)
もちろんフルパスでの指定でもOKです

$Allow?は適宜書き換えて下さい

上記の$Allow?設定だとこんなメージです
画像イメージ
・アップロード可
・ダウンロード可
・ビュー可
・フォルダの作成不可
・ファイル名の変更不可
・削除不可
・編集不可
になってます

ところが
$AllowDelete = FALSE;
で一旦削除を無効にすると
$AllowDelete = TRUE;
として削除を有効にしてもゴミ箱が現れません ナゼでしょう?不思議です

画像イメージ2

3.ハマりました!

XOOPS_ROOT/modules/phpfm/conf/config.inc.php
の中の20行目くらい
# Uncomment _only_ if you are experiencing errors!
$session_save_path = “/tmp/”;

セッションを保存するパス設定だと思うのですが

このままだとアップロードしたファイルをダウンロードすると
Textファイルだと文字化けして画像ファイルだと表示できませんでした

暫く考えて
//$session_save_path = “/tmp/”;
とコメントアウトしたら直りました ナゼでしょう?不思議です

4.
XOOPS_ROOT/modules/phpfm/admin/confconfig.inc.php

このファイルは
管理者メニュー→システム管理→モジュール管理
から「ファイルマネージャー」アイコンをクリックした時に現れる
ファイルマネージャーの設定ファイルです
特に問題なければ(/tmp/を除く)このままで宜しいかと思います。

※ちなみにPHPFMが置いてあるのはこのサイトではありませんので悪しからず

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA