- ベストアンサー
画面非表示で処理だけしたい
PHPファイルを別のPHPプログラムのボタンを押す事により実行させたいのですが、非表示で処理だけ実行させる事はできるのでしょうか?(ボタンがある画面は表示したままで)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 1つめのPHPプログラムはバックグラウンドで動かすもので2つめのPHPプログラムはPCや携帯からのアクセス時と考えてよいでしょうか。 1つめの処理で考えられる方法は a.バッチやシェル等で定期的にphpを起動して取得しに行き処理をする b.受信があった際にプログラムを起動できるメールサーバを利用する c.掲示板にアクセスがあった段階で接続して処理をする こんな感じかなと思います。 2つめの処理は1で作られたデータの読込み表示するphpと「更新」を選択した際に1つめと同じ処理をするphpを呼び出して読込み表示するphpへ戻るようにすれば良いと思います。 aまたはbの方法でバックグラウンドで常にデータを作成しておいてさらに「更新」が押されたときはデータを作成するという動きで実現出来ると思います。
その他の回答 (3)
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 <form action="xx.php" method="post"> を利用してということは何かしらの画面があるということでしょうか? それでしたら先に述べたAjaxを利用すればフォームの値を画面遷移無しでpost出来ます。 画面遷移が無ければ通常xx.phpに移動してしまいますがそれがありませんので非表示での実行と考えました。 どんなものを作っていて何を実現したいか具体的に出せますでしょうか。 いまいちイメージがつかめなく申し訳ございません。
補足
お世話になります。 具体的にですが、写メールBBSみたいなものです。 1つめのPHPプログラムが実行されると"メールサーバーに接続し、新着メールをDL→切出し→テキストに保存を行います。 (これを画面表示無しで実行したい) 2つめのPHPプログラムが実行されるとテキストに保存されてる、切出した項目を読込bbs表示。 このBBS表示の上の[更新ボタン]を押すと1つめのプログラムが実行され、更新後再表示といった感じです。 (携帯電話からも実行したいです) お手数ですが、よろしくお願いします。
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 となるときっかけは何で起動しようと考えていますか。 windowsであればバッチファイルでphp.exeを利用してphpを実行することが出来ると思いますが。
補足
お世話になります。 きっかけは別のPHPプログラムより<form action="○○.php">したいと考えてます。 よろしくお願いします。
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 Web上でのPHPを実行するには基本的にリクエストが無いと動きません。 Ajaxの技術を利用すればブラウザ上の画面遷移は無くPHPにリクエストを投げれるので実現できそうです。
お礼
回答頂きありがとうございます。 すいません、こちらの質問のしかたが悪かったのですが、 やりたいのは「非表示でPHPを実行したい」ということです。 ご迷惑をおかけします、よろしくお願いします。
お礼
いろいろ教えて頂き、感謝です。 ありがとうございました。
補足
お世話になります。 LancerVIIさんのおっしゃられるとおり、 1つめは定期的に実行+掲示板の更新ボタンで実行したいです。 定期的に実行はまだどうやったらいいかわかりません(cron,cgi等使えないサーバなので) LancerVIIさんのおっしゃられるとおり、 1つ目のプログラムの実行は、1つ目の出力を全てコメントアウトし 2つ目のプログラムの頭にinclude("〇〇.php")で実行し 更新ボタンでリロードしてみようかと思います。 お手数お掛け致しました、ありがとうございました。