[バグ]cfFormMailerでファイルアップロードができない場合の対処
2010-05-2416:00
cfFormMailer v1.0以上でユーザーからのファイルアップロード機能を利用する際、
サーバー環境に依ってはSAFE MODE Restriction in effect というメッセージを含んだエラーが発生する場合があります。
これはPHPのセーフモードが有効であることにより、ある特定のフォルダに対し"アップロードされたファイルを新しいファイル名で保存し直す処理"が拒否されてしまうことが原因です。
この症状が発生してしまう方は、お手数ですが以下の対応を応急処置として行うことで回避できますのでお試し下さい。
なお、この問題については今後のバージョンアップで対応する予定です。
1. サーバーの assets/snippets/cfFormMailer/ フォルダ内に tmp というフォルダを作成し、その他のユーザーが書き込みできるパーミッション(707など)にしてください。
2. assets/snippets/cfFormMailer/class.cfFormMailer.inc.php を書き換えます。
class.cfFormMailer.inc.php 161行目(※v1.1の場合)
【書き換え前のコード】
↓
【書き換え後のコード】
3. 書き換えたファイルをアップロードし、サーバー上にあるファイルと差し替えます。
サーバー環境に依ってはSAFE MODE Restriction in effect というメッセージを含んだエラーが発生する場合があります。
これはPHPのセーフモードが有効であることにより、ある特定のフォルダに対し"アップロードされたファイルを新しいファイル名で保存し直す処理"が拒否されてしまうことが原因です。
この症状が発生してしまう方は、お手数ですが以下の対応を応急処置として行うことで回避できますのでお試し下さい。
なお、この問題については今後のバージョンアップで対応する予定です。
1. サーバーの assets/snippets/cfFormMailer/ フォルダ内に tmp というフォルダを作成し、その他のユーザーが書き込みできるパーミッション(707など)にしてください。
2. assets/snippets/cfFormMailer/class.cfFormMailer.inc.php を書き換えます。
class.cfFormMailer.inc.php 161行目(※v1.1の場合)
【書き換え前のコード】
$new_filepath = dirname($_FILES[$field]['tmp_name']) . DIRECTORY_SEPARATOR . urlencode($_FILES[$field]['name']);
↓
【書き換え後のコード】
$new_filepath = $this->modx->config['base_path'] . "assets/snippets/cfFormMailer/tmp/" . urlencode($_FILES[$field]['name']);
3. 書き換えたファイルをアップロードし、サーバー上にあるファイルと差し替えます。
カテゴリ:cfFormMailer | トラックバック (0)