他の人のサイトでPHPの中身がどのように組まれているか参考にしたい

このQ&Aのポイント
  • 自身がPHPを勉強している中、他の人のサイトのPHPの中身を参考にしたいと思っています。しかし、webページを保存してもPHPのプログラムがダウンロードできません。form actionの部分に記載されたPHPのプログラムを見たいのですが、これは一般的にダウンロードできないものなのでしょうか?
  • PHPのプログラムは一般的にwebページを閲覧しているユーザのブラウザ上で処理されます。サイトのサーバはリクエストを受けた後、処理結果をブラウザに返しています。そのため、PHPのプログラムをダウンロードすることはできません。もしPHPの実装を参考にしたい場合は、他のPHPのサイトのソースコードを見るか、オープンソースのプロジェクトを調査することをおすすめします。
  • webページの中に埋め込まれたPHPのプログラムのソースコードをダウンロードしたい場合、そのページのソースコードを表示することで一部は確認できるかもしれません。ただし、PHPの実行結果やドライバへの接続情報など、セキュリティ上の考慮から一部は表示されないこともあります。セキュリティに問題がなければ、ダウンロードできるようにしているサイトも一部存在しますが、一般的ではありません。
回答を見る
  • ベストアンサー

現在phpを勉強中なのですが、他の人のサイトでphpの中身がどのように

現在phpを勉強中なのですが、他の人のサイトでphpの中身がどのように組まれているか参考にしようと思いまして、webページを完全保存したのですがphpのプログラムが書かれたファイルがダウンロードできません。form action = "***."の***の部分が見たいのですが・・。 私はあまりweb関係の事は分かりませんが、普通ダウンロードできないものなのでしょうか? ***の部分がphpプログラムだとして、処理はwebページを見ているユーザ側のブラウザで行っているのですよね? サイトのサーバー側で処理後、結果のみを発信しているのでしょうか?(これだとダウンロードできない気がしますが・・) 詳しいかたいましたらアドバイスいただけませんか?

  • HTML
  • 回答数3
  • ありがとう数2

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

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

phpにしろcgiにしろJava ServletにしろASP.NETにしろ,全てサーバーサイドの技術です。 クライアントから見ると,裏側で静的なHTMLを返しているのか,サーバーサイドで動的に作成しているのかは全くわかりませんし,それはどうでもよいことになります。 クライアント側の動的な技術では,Java Scirpt (JScript)や,Adobe Flash,Microsoft Silverlightなどがあります。 FiddlerのようなWeb Proxyを使ってみると,ブラウザの通信内容が分かるので,理解の一助になるのではないでしょうか。 # というか,実際の開発上何が戻ったかが重要になることもある。 Site: Fiddler Web Debugger - A free web debugging tool http://www.fiddler2.com/fiddler2/ ちなみに,Fiddlerなどで得られた通信を読み解くのに必要な,HTTPに関しては, Site: Studying HTTP http://www.studyinghttp.net/ が詳しいです。

その他の回答 (2)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

自分のサイトのPHPプログラムを、ダウンロードさせたいなら、 そのPHPと同じ物をコピーして、拡張子を .phps にすれば、 そいつを、GET要求すれば、表示(ダウンロード)、ができます。 (※httpd.confに AddType application/x-httpd-php-source .phps がないとだめ) あるいは、PHPプログラムで <?php header('Content-type: text/plain'); mb_http_output ("UTF-8"); //文字コードに合わせる highlight_file(ファイル名); ?> みたいな方法もあるけど、よほど限定してつくらないと、 とんでもないセキュリティホールになっちゃいます。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

>***の部分がphpプログラムだとして、処理はwebページを見ているユーザ側のブラウザで行っているのですよね? 違います こういうのをクライアントサイドプログラムといいJavascriptが該当します >サイトのサーバー側で処理後、結果のみを発信しているのでしょうか?(これだとダウンロードできない気がしますが・・) こちらが正解です こういうのをサーバサイドプログラムといいPHPのほかにCGIやASP,JSPなどがあります

関連するQ&A

  • webブラウザを開かないで移動しない方法教えてください

    PHP又はjvascriptでプログラムを作成しています。 <form action=~ で送信すると webブラウザが別ページに移動されますが、 webブラウザを開かないで移動しない方法を考えています。 教えていただけないでしょうか?

  • 検索サイトでのPHPの作り方について

    検索サイトをPHPで作ろうとしています。HTMLすら完全な初心者です。たとえば、index.phpで <form method="post" action="search.php"> ・・・ という風に記述するところまで分かりましたが、search.phpの作り方が分からず困っています。データをsearch.phpに送って、どのようにプログラミングすればいいのか悩んでいます。つまり、search.phpの中身が以下とすると、云々のところが分かりません。 ------------ <?php 云々 ?> ------------ ここは基本的にはどのように記述すればいいのでしょうか?あるいはサンプルとかどこかで公開していたり、初心者に分かるようなサイトとかあるでしょうか?初歩的な質問ですみません。

    • ベストアンサー
    • PHP
  • PHPで携帯サイト構築

    はじめまして HTML、PHPで携帯サイト構築をしているのですが下記点でこまっています。 【やりたいこと】 サイトにログイン機能やユーザー登録などの機能を持たせない(仕様です)で遷移してきたユーザーを判別したい。 【問題点】 PEARの携帯用のライブラリを使用してユーザーの機種情報を取得して、判別しています。 たとえば某ぐるめなびサイト(以下、ぐるなび)のように、遷移時にトップページですでにこちらが誰であるかを認識できるようにするにはどうすればいいのかでなやんでいます。 もっというとトップページの前にページを設けてそこで <form action="hoge" utn> <input type="submit"> と,すれば値の取得はできるのですが、そのあとに直接トップページに遷移されていまうと結局、機種情報の取得ができせん。 こんな方法がある、又参考URLでも結構ですのでご助言お願いいたします

    • 締切済み
    • PHP
  • PHP ダウンロードサイトの直リンク

    お世話になります。 技術的な質問といいますか、疑問なのですが、ぜひ皆様のご意見を伺わせてください。 現在、phpを用いてzipのダウンロードページを作成しております。 本サイトは簡単な会員制のため、必要事項を入力してもらった上でダウンロードができる仕組みです。 まず、ファイル構成は、 1、top.html 2、check.php 3、download.php となっております。 topにはformで、入力した内容をcheck.phpに渡す処理が書かれております。 check.phpには、入力された内容を確認し、場合によってはhtml画面に戻ったりします。 download.phpは、aタグでダウンロードリンクが書かれており、クリックをすると保存ダイアログが開きます。 この一連の流れはすでに完成しているのですが、問題となっているのが直接download.phpのリンクを知っている人がいたとして、urlに直書きしてしまうとアクセスできてしまうということです。 なので、.htaccessを使って制限する方法か、またはdownload.phpで渡ってきた$_POSTの中身が空白ならばエラー処理 というような流れを作ったほうがいいのでしょうか。 ※ちなみに$_POSTで渡ってくるものは全て何かしら入力されており空白は許していません。 .htaccessも正直、どのように書いたらいいのかよくわかりません・・・ もし、他にいい方法がありましたらぜひ教えてください。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPのサイト内検索の結果をCSVに書き出すには

    Webサイトのサイト内検索が、どれくらい使用されているか調べるため、 検索結果をCSVで書き出したいと考えております。 php初心者のため、苦戦しております。 詳しい方がいらっしゃいましたら、ご教示ください。 サイトはCodeIgniter(コードイグナイター)を使用しており、PHP5.3.3です。 サイト内検索の仕組みは、form actionを使用しており、 htmlに記載のコードは以下です。 ------------------------------------------------------------------------------------------------------- <form action="search.php" method="get" data-form-id="keyword_webcode-search"> <input name="keyword_webcode" type="text" value="" rel="キーワード検索出来ます。"><br> <input type="submit" value="データを送信"> </form> ------------------------------------------------------------------------------------------------------ データ送信先のsearch.phpに書き出すためのコードを追加しておりますが、 何も起こりません。 コードを追加するファイルが間違っているのでしょうか? 追加したコードは以下です。 ------------------------------------------------------------------------------------------------------- $csv = fopen('file.csv', 'a'); fputcsv($csv, $ShiftJIS); fclose($csv); ------------------------------------------------------------------------------------------------------- 色々試してみましたが、うまく行かず行き詰まっています。 どなたかアドバイスいただければと思います。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPが絡んだサイトを編集する際に、ブラウザでプレビューできない場合どうしたら良いですか?

    私は全くの新人Webデザイナーです。 現在、コミュニティーサイトを担当していますが、ローカルPCにhtmlとcssと画像を置いて ページを修正してもブラウザで上手くプレビューできません。 (テスト環境はxamppをダウンロードして使用しています。) このサイトの、htmlとcss内に記述されている画像やリンクのパスは 全て『/』で始まっています。PHPが関係しているようです。 なので、ローカルで編集する際には頭の『/』を外して編集しています。 その状態でブラウザ(Firefox)でプレビューすると同じページ内でcssが 適用される部分と適用されない部分があります。 また、同じフォルダ内にある画像なのに表示される画像と表示されない画像があります。 詳しくは知りませんが、PHPを導入していてもMVCという設計モデルでは デザイナがDreamweaverで簡単にデザインを変更できる(プログラムとデザインは別として作業ができる)と聞きました。 という事は、私の担当しているサイトはMVCではなく、実際にUPして みないとデザインを確認できないという事なのでしょうか? ローカルで出来栄えを確認できる方法は無いのでしょうか? このサイト担当のプログラマーは、キレやすいので滅多に質問できなくて 困っています。 どなたか、ご教授いただければ幸いです。 宜しくお願いします。

  • PHPの基礎を勉強している初心者です

    formタグで入力した情報を指定のページへ飛ばしたいのですが、出来ません。 以下のコードをローカルサーバで試しているのですが、submitボタンを押してもリンク先のページに飛ばないという状況です。 問題点を指摘頂きたいです。 <form method="post" action="check.php"> <input name="nickname"type="text"style="width:100px"> <input type="submit" value=" 送信"> </form>

    • ベストアンサー
    • PHP
  • 現在、レンタルサーバ(コアサーバー)上でPHP5とmysqlでサイトへ

    現在、レンタルサーバ(コアサーバー)上でPHP5とmysqlでサイトへのアクセス数とサイト上の複数のリンク先へのクリック数のログを取得し、一日一回それらを一つのテーブルへ集計し、レポート表示させるプログラムを作成しました。 一日のログが少なかった頃は問題なく動いていたのですが、一日のログ数が10万を超えた辺りから集計処理がタイムアウトしてしまい、集計ができなくなってしまいました。 下記のようなイメージで集計プログラムとして動かしています。 ループ数は25,000回位です。 ループ中にはmysqlからの読み込みと書き込み処理を含んでおります。 $i = "0"; do{//サイト数だけループ $cat_i = "0"; do{//カテゴリ数だけループ $carrier = "0"; do{ $cl_i = "1"; do{ }while($cl_i < 21);    $carrier = $carrier + 1;          }while($carrier < 3); $cat_i = $cat_i + 1; }while($cat_i < $rows_cat); $i = $i + 1; }while($i < $rows_clsite); PHPを触り始めて日が浅いもので、ループを多用して重い処理になっているのはわかっております…。 コードの書き方自体もなっていないと思いますが、タイムアウトせずに動かせなく困っておりまして、アドバイスを頂ければと思っております。 PHP・ブラウザのタイムアウト対策は、 set_time_limit(0); ob_end_clean(); echo str_pad('',256); flush(); sleep(1); としており、上記で暫くは処理時間を伸ばすことができておりました。 また、phpがapachユーザー?として動く為、apachのタイムアウトに引っかかるのではと、コアサーバーのサイトに記載されていた、CGI版PHPとして動かす方法(.htaccessに記載する方法)でも試してみたのですが、結果は変わりませんでした。 しかし、本当にCGI版として動いているのか確信はありません。。 試行錯誤の上、上記のループの$iの部分を1回終了毎にブラウザに戻し、metaのRefreshで15秒開け次の処理を行わせたり、$iのループ毎に手動でPOSTにて送信し、細切れにして処理をさせているのですが、細切れにした処理だけでもタイムアウトになったりならなかったりを繰り返しております。 上記の方法では、ブラウザのタイムアウト対策をしているだけではと思いつつも、原因がどこにあるのか思い当たらない為、どう対処していいのかさえわからない状況となっております。。 単純に、apachのタイムアウトに引っかかっているのか、負荷が大きいためなんらかのサーバの制限に引っかかっているのか等、考えられる原因やその原因を一つ一つ切り捨てていけるような方法等がありましたら、ご意見お願いできればと思います。 自前のサーバの準備も進めておりますが、暫く時間がかかってしまいそうですので、現在の環境で応急処置できればと思っております。 タイムアウト時はphpなどのエラーメッセージは出ず、IEの「このページは表示できません。」というメッセージが表示されております。 乱文にて申し訳ありませんが、お知恵をお貸し頂けますと大変幸いでございます。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 初歩的な質問で大変恐縮なのですが、PHPを現在勉強中でして、自分のパソ

    初歩的な質問で大変恐縮なのですが、PHPを現在勉強中でして、自分のパソコンでPHPプログラムを確認するためにXAMPPをインストールしました。 htdocsフォルダに以下の文をメモ帳に貼りつけてブラウザで起動したのですが「Hello,World」とは出ず、以下の文が全てブラウザに写し出されます。XAMPPは正常に起動していますし、Apacheも起動しています。メモ帳の名前はtest.phpとなっています。他に何か設定を忘れている部分はありますでしょうか? メモ帳をブラウザで開けば良いだけですよね? 初心者向けのサイトを沢山見ましたが原因がまったく分かりません。 詳しい方いましたらアドバイスいただけると助かります。 <?php print("Hello World!"); ?>

    • ベストアンサー
    • PHP
  • はじめまして。現在携帯サイトを作成しているのですが、index.php

    はじめまして。現在携帯サイトを作成しているのですが、index.phpを利用し3キャリア対応にしています。しかしサーバにアップしURLをたたくと、ファイルのダウンロードが始まってしまいます。 どなたかご教授ください。 index.phpの中身は以下のとおりです。 <?php // 携帯キャリア別自動振り分けスクリプト // URL:http://www.marguerite.to/Nihongo/Labo/PHP4Mobile/PageDistribution.html // // elksystem.ltd // // //タイトル $title="転送"; //EZウェブ専用ページのURL $page_e='./ez/'; //ボーダフォン専用のURL $page_j='./v/'; //一般携帯電話対応ページのURL $page_i='./i/'; //H"リンク専用対応ページのURL $page_h='./i/'; ~ 3キャリア対応の中身 ~ ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>転送</title> <meta http-equiv="refresh" content="0;URL=./i/" /> </head> <body> </body> </html>

    • ベストアンサー
    • PHP

専門家に質問してみよう