PHP教本の2.1.5章の出力に関する疑問と解説の要求

このQ&Aのポイント
  • PHPの教本の2.1.5章では、出力についての説明があります。出力命令やバッファについての詳細な内容が含まれていますが、短い文章で書かれているため理解が難しいです。どのように解説すればよいか教えてください。
  • 質問内容:PHPの2.1.5章には出力に関する内容が書かれていますが、短い文章で書かれているため理解が難しいです。解説を交えた文章で表現することができれば、理解がしやすくなると思います。どのように解説すればよいか教えてください。
  • PHP教本の2.1.5章では、出力に関する詳しい内容が書かれていますが、短い文章で書かれているため理解が難しいです。解説を交えた文章に変えることで、より理解しやすくなると思います。どのように表現すればよいか教えてください。
回答を見る
  • ベストアンサー

解説がほしいです。

PHPのある教本の内容で質問があります。  以下質問内容です。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ■2.1.5 出力 ------------------- PHPプログラムでは、PHPブロックの中でecho文や、print文など、出力命令を使ったものに加 え、PHPブロックの外側にあるものがすべて出力されます。※1“CLIで実行している場合”は 標準出力、Webサーバを通してPHPが実行された場合、出力はWebブラウザなどのクライアン トになります。  Webサーバを通して実行された場合、出力は自動的にバッファされています。これは、データ(主 にHTMLとなるでしょう)を出力する前にHTTPヘッダを出力しなければならないことに起因して います(バッファを解除することもできます)。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  問い1      ※1“CLIで実行している場合”とありますが、逆もあると解釈した場合“CLIで実行してい     ない場合”もありえるのですか? もしあったら、どんな場合を言うのですか!? 問い2  はっきり言って、私は“■2.1.5 出力”文章の内容は“なんとなくしか”分かりません!?       出版上の文字制限内での文章で簡潔に書かれていて、私にとりまして、解説がほしいで      す。解説を交えた文章で表現するのであれば、どんな文章になりますか!?           以上宜しくお願いします。

  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • sora1515
  • ベストアンサー率58% (54/92)
回答No.2

問い1 下のhitomuraさんの言う通り文章そのままですね・・ CLIで実行している場合は標準出力。 Webサーバで実行された場合はWebブラウザ。   少し『、』と『“』の使い方がおかしいのは感じますが。。 問い2 2の項と2.1の項と2.1.5近辺の項がわからないので何とも言えません。 質問文の下部のみを解説すると1行の出力行だけではまだバッファに溜まっただけで完全には出力していないと言っています。わかりやすく解説するならば、 print("A"); sleep(10); print("B"); こういうphpソースがあればAが出力され10秒後にBが出力されるのではなく10秒後にABが同時に出力されます。各行出力をまとめhtml構成要素とし整形し直している事を表しています。 PHPはスクリプト言語の代表ではあるが厳密にはHTTPヘッダなどその他要素を最適に生成/構成しWeb環境に特化した言語であるという事が言いたかったのでしょう。

nattukamu2
質問者

お礼

 貴重なご回答有難うございました。 A1:各行出力をまとめhtml構成要素とし整形し直している事を表しています。 A2 : HTTPヘッダなどその他要素を最適に生成/構成しWeb環境に特化した言語であるという事が言いたかった  了解しました^^。

その他の回答 (1)

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

とりあえず、問1.だけ。 ……えーと、“CLIで実行していない場合”(の一つ)はその直後に書いてありますよ? ひょっとして、その後ろに書いてある文は“CLIで実行している場合”のうち特殊な場合と思われましたか?

nattukamu2
質問者

お礼

御回答、誠にありがとうございました。    A:直後に書いてありますよ?     了解しましました,助かります。^^ 読解力の問題でした!  

関連するQ&A

  • PHPとhtmlの関係

    PHPの学習を始めました。 Webページを作る場合に,PHPの中にhtmlを記述するときと、htmlの中にPHPを記述するときがあるようですが、PHPの中にhtml文をPRINT命令で記述するケースではサーバー主導で命令が実行されるので記述した文のとおりの実行順で実行されることがイメージできますが、逆にhtmlの中でPHPを記述したときのクライアントとサーバーの命令のやり取りの順番がイメージできません。 どなたか,私のような初心者にわかりやすく教えていただけないでしょうか?

    • 締切済み
    • PHP
  • LinuxでPearMailの設定方法

    ・実行環境 OS:VineLinux4.1 Webサーバ:Apache2 言語:PHP5 phpで入力した宛先にメール送信を行う Webアプリケーションを作成しています。 メール送信にpearmailを用いたいのですが、 webサイトからダウンロードしてきたMail-1.1.14.tgzを展開し、 Mail.phpのみを同じディレクトリにコピーしました。 そしてphpのソースにrequire("Mail.php");と記述して メール送信を行うコードを書いてみたのですが apache2のエラーログにCall to undefined function: send() と出力されています。 Windows用の解説サイトは見つけたのですが、Linux用の 解説サイトは発見できませんでした。 iniファイルの書き換えやMail-1.1.14.tgz中の全ファイルを展開する 必要があるのでしょうか?教えてください。 また何か良い解説サイトがあれば教えてください。

    • 締切済み
    • PHP
  • phpとoracleを用いたシステムでの文字化け

    phpとoracleを用いたシステムでwebサイトを構築しているのですが、 ブラウザからアクセスしページ表示した際に、全角文字が文字化けしてしまいます。 ◆環境 webサーバ:apache, php, oracleClient, PDO_OCI DBサーバ:oracle DBデータアクセス方法:PDO ◆事象の詳細 文字化けといっても必ず ???? とクエスチョン続きで表示されます。 上記webサーバのコマンドラインでphpのバッチを実行したところ、 コマンドライン上では正常に全角文字が表示されます。 まったく同じバッチをwebブラウザからhttpでアクセスを行ったところ、 文字化けしてしまいます。 ブラウザでの表示が悪いのではと思い、 phpのバッチ実行時に結果をテキスト出力させる処理を追加したのですが、 コマンドラインで実行した際は正常に出力され、ブラウザでアクセスした際は内容が文字化けして出力されました。 上記事象からアパッチが影響してるのではと考えられるので、 webサイトごと個別のhttpd.confの設定ファイルに NLS_LANG を設定したのですが、 結果は変わりませんでした。 文字コードの指定がない(正しくない)から文字化けするというよりは DBサーバから取得する文字列をどう受け取って(扱って)いいのかわからないという感じがします。 何か解決策等、わかる方がいましたらご教授いただけますでしょうか。

    • 締切済み
    • PHP
  • output_buffering Onの意味

    こんにちは。 phpの設定についての質問です。 phpソースをEUCで書き、出力をSJISに設定するような場合に、以下のような設定をphp.iniにするようphpのマニュアルページにあります。 ------------------------- ;; 出力のバッファリングを有効に output_buffering = On ;; 出力の変換を有効にするために mb_output_handler を設定 output_handler = mb_output_handler ;; HTTPヘッダ charset を設定 default_charset = Shift_JIS (以下省略) ------------------------- このうち、出力のバッファリングを有効にしなければいけない意味がわかりません。EUCで出力する場合は、無効のままでよいとあります。 出力の文字コードとバッファリングにあまり関係はなさそうに思えるのですが。。。 何か釈然としないので、質問させていただきました。 情報お持ちの方、宜しくお願いします。

    • ベストアンサー
    • PHP
  • CGI(perl)の出力結果を返すタイミング

    サーバでCGI(perl)が実行され、 ブラウザに出力結果が返されるわけですが、 どのタイミングで返されるのですか? CGI(perl)の実行が全て終わってからですか? 随時バッファリングせずに返すのですか? 出力結果が一定のサイズに達すると随所で返すのですか? 環境によって違うでしょうが、一般的にどうなってるのでしょうか?

    • 締切済み
    • CGI
  • 3級、解説を読んでも理解できない問題

    111回の過去問でどうしても解らないところがあります。 第2問の文章問題です。 問題*商品の期首棚卸高と当期仕入高が一定である場合、期末棚卸高が大きくなると、当期の売上総利益は( ? )する。 と言う問題です。 回答は『増加』でした。ちなみに私は『減少』にしました。 解説では 売上高300、期首商品50、当期仕入高150とすると、、、   売上高   300       売上高   300   売上原価  170       売上原価  140   売上総利益 130       売上総利益 160 となるから『増加』になると言うのですが、問題文の中に『売上高も一定』なんて書いていないのにどうしてこういう事になるのでしょうか?? 宜しくお願い致します。

  • 塾 模試 過去問 解説

    こんばんは('-'*) 高三です。 夏休みの課題として14年分の生物の模試過去問を渡されました。解答しかありません… 大の生物苦手(特に遺伝)の私は解答だけでは正直、苦しい部分があります。 塾に通ってまして、塾には模試の過去問、解答解説はあるものでしょうか? センター過去問、赤本は沢山ありますが。 無い場合、先生に質問しようと思いますが、分からないところが多くて… なるべく質問内容は必要最低限に抑えたい気持ちがあります。(先生は忙しそうで)どうしても解説がほしいのですが… 学校の先生はくれません。 よろしくお願いします。

  • PHPのCLI(コマンドライン)について

    PHPのCLI版について教えていただきたいことがあります。 まず、前提条件として、 OS:Redhat Linux 9.0 PHP:4.4.1 WEB:Apache2.0 MAIL:qmail となっています。 確認事項としてphpのパスを確かめるために、SSHなどのコマンドラインから、 (A)のようにパスを指定して実行した場合、正常に処理できます。 (A) [/ ]# /usr/local/bin/php <?php phpinfo(); ?> 実行→phpinfoの内容が表示される 次に、qmailの転送機能を利用し、受信したメールを自動的に前述の test.phpに渡すとmaillogに以下のようにログが残っています。 delivery 1488: deferral: /bin/sh:  /var/www/sample/test.php:  /usr/local/bin/php :  bad interpreter:  No such file or directory test.phpのパスは正しく設定されており、 [/ ]# /usr/local/bin/php /var/www/sample/test.php とした場合、正しく読み込みます。 また、test.phpの1行目には #!/usr/local/bin/php と記述してあり、もう一台のサーバー(Redhat Linux 2.1AS)では 正しく動いております。 実行できない原因を調べる手段として、 ・この設定を確認 ・このコマンドを実行 など、まず何をチェックすればいいのか 教えていただけると助かります。 以上、よろしくお願いします。

    • ベストアンサー
    • PHP
  • コマンドファイルからのFTP転送の実行について

    運用サーバからバックアップファイルを他のサーバに転送したく、 PHPからコマンドを実行する方法という下記のサイトを参考にPHPから実行 できないか模索しております。 http://piyopiyocs.blog115.fc2.com/blog-entry-760.html ftp.shで保存しておき、実行用のPHPに下記を記述し、 「<?php exec("/bin/sh ftp.sh"); ?>」 ftp.shと同じ階層にアップロードしてからphpファイルをブラウザから、 呼び出してみたものの、6GBあるはずのファイルが2GBほどしかアップロードされません。 ターミナルから、ftp.shを実行した場合は、 6GBでアップロードできております。 ●実行結果 ・PHP→ftp.sh:2GB(×) ・ターミナル→ftp.sh:6GB(○) ●PHP→ftp.shとターミナル→ftp.sh共に共通して、 ?Invalid commandという出力が行われます。 ?Invalid commandが出力されてはおりますが、 一応はファイルの転送が実行はされております。 PHPからの実行の場合は、PHPの容量制限かなにかが反映されてしまうのでしょうか。 PHPからの実行でアップロードファイルが途中で止まる現象を回避する方法は、ありますでしょうか。 ?Invalid commandというのは、正常に処理が行われている場合でも 出力されるのでしょうか。

  • cronの設定

    Linux, cron, PHP CLI版を使って、定期的にPHPスクリプトを実行させようとしておりますが、どうも上手くいきません。 コマンドラインで試すと上手くいくのですが、cronを使用して動かすと、実行結果が Could not open input file: /home/---/---/--/test.php と返ってきて、実行されておりません。 以下、crontabの内容です。 MAILTO="-------.com" */1 * * * * /usr/local/bin/php /home/---/---/---/test.php お忙しい中すみませんが、どなたかアドバイスをいただけないでしょうか?

    • ベストアンサー
    • PHP