人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPでメールを受信すると /etc/aliases から/var/www/DIR/FILE1.phpが起動するプログラムを書いています。
しかし、header 関数を使ってページ遷移することができません。

FILE1がメールから無事に起動することを確認しました。
問題は、header('Location: FILE2.php');
と記述してページを遷移させようとしたのですが、
/var/www/DIR/FILE2.phpに遷移してくれません。
ただし、ブラウザからURLを指定して起動させると、遷移してくれます。

(*1) chdir('/var/www/DIR');と記述して、カレントディレクトリは変えることは行いました。。
(*2) 権限に問題があるかと思い、
暫定的にchmod -R 777 /var/www/DIR と
chown -R root.root /var/www/DIR を実行して全てのユーザに権限を与えていました。

知恵をお貸していただけると幸いです。
何卒よろしくお願いいたします。

●質問者: shotaroh5663
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:777 CHDIR Dir ETC PHP
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● goodvn
●80ポイント ベストアンサー

Location ヘッダというのは,http の仕組みです

途中,ちょっと端折りますが,

1. ブラウザが,プログラムAにアクセス

2. プログラムA が起動

3. プログラムA が,Location ヘッダを出力

4. ブラウザが Location ヘッダを受信

5. ブラウザが,プログラムB へアクセス

6. プログラムB が起動

7. プログラムB が内容を出力

という形で,偏移します.つまり,ブラウザから見たら,プログラムA がプログラムB を起動しているように見えますが,実際には,異なるアクセスで,別のプログラムを呼び出しているだけであり,当然この仕組みはブラウザ込みで動いているので,メイルから起動した PHP の中で使っても無意味です

ペイジ偏移というのが,異なるプログラムを起動する,という意味でしたら,/etc/aliases で起動するときに,FILE1.php,FILE2.php の順に起動するように記述しては如何でしょうか

また,もしどうしても http 経由で処理したいということでしたら,php を直接呼び出さず,wget などを使って,http 経由で php をキックする仕組みは如何でしょうか(メイルのプログラムとしては,wget を登録する.wget のアクセス先に,このプログラムを,URL で指定する)

◎質問者からの返答

ご回答ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ