• 締切済み

写メールBBSを設置について

写メールBBSを設置したいのですが、画像が表示されず困っています レッツPHP http://php.s3.to/bbs/bbs7.php どこで間違っているのか教えてください ■ 設置方法 1. 受信用メールアドレスを用意して下さい。写メールBBS専用にするといいでしょう 2. 「config.php」で受信メールアカウントの設定、削除パスの設定をしてください。 3. riyou.htmlの受信アドレスを適宜修正してください。 4. すべてのファイルをFTPソフトでアップロードしてください 5. 画像保存用ディレクトリ「data」を作成し、パーミッション(読み書き属性)を777などにします。 6. ログファイル「mail.cgi」のパーミッションを666などにします (1)yahooメールを作成してPOP3設定を行い、アウトルックで送受信できるようにしました 受信メール(POP3サーバー) pop.mail.yahoo.co.jp 送信メール(SMTP)サーバー smtp.mail.yahoo.co.jp アカウント名/ログイン名: ログインID パスワード Yahoo! JAPAN IDのパスワード メールアドレス ~@yahoo.co.jp (2)config.phpの変更 // 受信メールサーバーの設定 // POP3サーバー $host = "****";****をpop.mail.yahoo.co.jpに変更 // ユーザーID $user = "****";****をYahoo!ログインIDに変更 // パスワード $pass = "****";****をYahoo!ログインパスワードに変更 // 更新後のジャンプ先(表示スクリプトのURL) $jump = "http://~/mailbbs/mailbbs.php"; (3)riyou.html 画像やメッセージを、<br><a href="mailto:???@????.????">????@????.???</a> 宛に送信して下さい。 ????@????.???を~@yahoo.co.jpに変更 (4)パイナリーとアスキーを確認しアップロード (5)dataはmailbbs[フォルダ]の中に始めから1つあったので作成していません (6)ファイル構造は下記 public_html / | mailbbs[フォルダ] | data[フォルダ][777] mail.cgi[666] config.php htmltemplate.inc mailbbs.php mailbbs_admin.html mailbbs_edit.html mailbbs_i.html mailbbs_pc.html pop.php riyou.html ※data[フォルダ][777]、mail.cgi[666]以外のパーミッションはいじってません

みんなの回答

  • world99
  • ベストアンサー率64% (20/31)
回答No.1

画像が表示されない問題の原因がわかりました。 まず問題点の確認ですが、 日本語名などの2バイト文字で 名付けられた画像ファイルが表示できません。 プログラムを確認した所、 rawurlencode 関数の使い方が間違っているようです。 [ファイル] mailbbs.php 182行目> row['url'] = $tmpdir.rawurlencode($att); ここで画像ファイル名を rawurlencode 関数を使って URLエンコードされています。 しかし、rawurlencode関数は GETパラメータの値に対して使うものです。 ファイル名をエンコードしているために、 WEBサーバはファイルを見つけられないのでエラーとなります。 <Apache エラーログ> [Sun Mar 06 18:52:29 2011] [error] [client 127.0.0.1] (22)Invalid argument: Cannot map GET /mailbbs/data/%83%82%83G%83%89%83L%81E%83%7B%83%8B%83_%81%5B%83Y.jpg HTTP/1.1 to file, referer: http://localhost/mailbbs/mailbbs.php rawurlencode関数を外すと画像が表示されます。 修正後> row['url'] = $tmpdir.$att; お試し下さい。