• ベストアンサー

サーバ無しでphpを動作させる

いつもお世話になります。 phpをサーバ無しで動作させることってできないものでしょうか。 やりたいことは、DVDにたくさんのjpgファイルを保存して、この写真をhtmlでブラウザを使って表示できたらと考えています。 htmlからフォルダ内のjpgファイル名、その属性を取得するのにphpを使えば簡単に取得できるからです。 jpgファイル名をhtmlに直接書けばそれまでのことですが、たくさんのファイルがあるし、そのときどきで毎回ファイル名を入力するのも大変です。 ファイル名を連番にして、JavaScriptでなんてのも考えられますが、ファイル名を変えたくありません。 JavaScriptでActivXを使ってフォルダ内のファイルを取得するなんてのもやったことありますが、セキュリティー警告が出るのでやりたくないです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#94983
noname#94983
回答No.1

PHPのスクリプトをサーバなしで実行させることはできる。コマンドプロンプトからphp hoge.phpとか実行すればいい。要するにPHP.EXEから直接実行するということ。ただし、その場合は「Webブラウザから動かす」ことはできない。だから、ウインドウなどのGUIもすべてPHPで書いて、PHPでアプリケーションそのものを作ることになる。これは別ライブラリなどを使えば可能。 WebブラウザはHTTPというプロトコルで指定したサーバに要求を送ることしかできないわけで、ブラウザから要求して何かを処理させるとなると、HTTPの要求を受け取れるプログラムが必要になる。Webブラウザで動かすことを考えるなら、自分のマシンにWebサーバーをインストールしてPHPでサーバ側の処理を書けばいいだけだ。まぁ自分ならそうするな。 サーバを使わず、かつWebブラウザで動かすとなると、HTAを使うという手がある(Windowsなら)。これはWSHの機能を利用したもので、まぁ手っ取り早くいえば、HTML+JavaScriptかVBScriptで処理を書いておき、拡張子をHTAで保存すれば、ダブルクリックで動くHTMLベースのアプリが作れる。これだと、JavaScriptでActiveXを利用しても警告は出てこない。

rqg2010
質問者

お礼

logger_manさん、今晩は。 お礼が遅くなり申し訳ありません。 とても良くわかる説明でPHPに対する理解が更に深まったような気がします。 >WebブラウザはHTTPというプロトコルで指定したサーバに要求を送ることしかできないわけで、 そうですよね。ご指摘いただければその通りですが、・・・ 飛んでいました。 >HTML+JavaScriptかVBScriptで処理を書いておき、・・・ こんな方法があるとは知りませんでした。 これから試してみます。 また、結果をご報告させていただきます。 ありがとうございました。

rqg2010
質問者

補足

logger_manさん、今晩は。 htaについていろいろと調べてみました。 私にとって新しい世界の一つが開けました。 これから更に調べていきます。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • little-m
  • ベストアンサー率44% (45/102)
回答No.4

自宅のPC(Windowsマシン)単体でphpを動かせないか、という事だと思います。 Windowsマシンに、Apacheとphpをインストールし、ApacheのHTMLを格納するエリア(ドキュメントルート)の下位にDVDのパスをリンクすれば行けるのではと思います。(ただし試したことはありません)

rqg2010
質問者

お礼

little-mさん、今日は。 レスありがとうございます。 DVDを渡した人に、そのDVDにあるjpgファイルをブラウザを通して見ていただこうと考えています。 もちろん、そのhtmlも同梱して。 DVDを渡した人にApacheをインストールするしてもらうことなど できないものですので。 どうも貴重なご意見ありがとうございました。

すると、全ての回答が全文表示されます。
  • hisappy
  • ベストアンサー率46% (184/392)
回答No.3

・DVDで配布する。 ・HTMLで表示する。 ・PHPが使用できる。 という点からすると、 「たくさんのjpgファイルをDVDに焼いて配布する」 というやり方であると推測できるので 「焼く前に配布用HTMLを一括生成するPHPを実行する」 という方法もあります。 もっとも、HTML格納用の容量も取れないとか 表示する画面は複雑に変化するのでその都度HTMLが生成されないと… といった場合には対応しきれませんし 「生成しないで焼いてしまった」 なんていう事態も起こりえます。

rqg2010
質問者

お礼

hisappyさん、おはようございます。 レスありがとうございます。 なるほどです。 思いつきませんでした。 とても参考になりました。 いろいろと聞いてみるものです。 どうもありがとうございました。

rqg2010
質問者

補足

hisappyさん、今晩は。 お陰で目線を変えることができました。 どうもありがとうございました。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

手っ取り早いのはAN HTTPDあたりでPHPをCGIモードで動かすことかな。 外部に公開する気がないならテスト環境としても過不足ないと思います。

rqg2010
質問者

お礼

yambejpさん、今晩は。 お礼が遅くなり申し訳ありません。 >AN HTTPDあたりで 外部にWEBを通して公開するわけではありませんが、 DVDを配布した人には公開するということになるものですので、 この、AN HTTPDの場合、DVDを見る人のPCにAN HTTPDが インストールされている必要があるんですよね。 AN HTTPDをインストールしているような人へDVDを渡す のでありませんので、少し無理なような気がします。 でも、DVDを配布した人にAN HTTPDを自動的に使用できるように するとか方法はありそうです。 私にとって、すぐにそのようなことできそうにありませんが。 とても参考になりました。 貴重なご意見ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A