リソース - みる会図書館


検索対象: PHP 1 : はじめてのPHPプログラミング
26件見つかりました。

1. PHP 1 : はじめてのPHPプログラミング

KEYWORD ・ファイルシステム ・リソース KEYWORD ・テキストデータ ・バイナリデータ 8-4 ファイル操作 ます。 ファイルを「開く」ファイルの「リソース」を取得 図 -5 リソースを使用する PHP のファイル操作 り解放します。 て利用しなくなったファイルのリソースは PHP の「ファイルを閉じる」操作によ 「読み書き」のアクセスを行います。ファイルを開いてからさまざまな処理を経 し示す単位になります。「ファイルのリソース」を取得したらリソースに対して なります。リソースは「資源」といった意味があり、プログラム中でファイルを指 ファイル名は「 readme. txt 」や「 stat.log 」などのファイルシステム上の名前に readme. txt ファイル リソース 閉じられたリソースは「解放」され、 ふたたび開くまで利用できなくなる 使わなくなったリソースは「閉じる」 テキストデータとバイナリデータ PHP プログラム リソースを使って「ファ イルの読み書き」 ファイルには種類が 2 つあります。人間が解釈できるテキストの文字列で構成 されたテキストデータのファイルと、 0101 という数値の羅列から構成された画 像や動画、プログラムなどのバイナリデータです。たとえば、 HTML は「テキス トデータ」ですし、デジカメで撮影した JPEG 画像は「バイナリデータ」となって います。 これら 2 つのファイルはそれぞれ役割が違います。「テキストデータ」はテキ スト ( 文字 ) のみを扱うのに対して「バイナリデータ」は文字以外のデータも扱 うことができます。これら「テキスト」と「バイナリ」は用途に応じて使い分けま すが、一般的な掲示板システムやプログッールなどではほとんどが「テキスト データ」で構成することができます。

2. PHP 1 : はじめてのPHPプログラミング

2-2 Web アプリケーションの基礎 リソース メソッド HTTP バージョン 図② -3 リクエスト行 リクエストメッセージの 1 行目にはかならすリクエスト行があります。 ・ POST メソッド ・ GET メソッド ・ HTTP バージョン ・メソッド ・リクエスト行 KEYWORD 指定されたリソースを削除する 指定されたリソースを置き換える 指定されたリソースを取得する 表② -1 HTTP 1.1 で定義されているメソッド 通信では、基本的に GET メソッドか POST メソッドだけが用いられています。 表② -1 のようなメソッドが規定されています。ただし、一般的な HTTP による する「リソース」に対して「何を行うか」を指定します。 HTTP 1.1 の規格上では というのは HTTP サーバーに対する「命令」のようなものです。メソッドは後続 「メソッド」の部分には、 GET や POST といった文字が使われます。メソッド す。 このリクエスト行はメソッドとリソース、 HI 丁 P バージョンで構成されていま メソッド G ET POST HEAD PUT DELETE OPTIONS TRAC E LINK UN 凵 NK 意味 指定されたリソースのヘッダ情報を取得する 指定されたリソースに対して、データを送信する 既存のリンク関係を削除する 既存リソースとほかの既存リソースをリンク関係を設定する サーバーが受け取った情報を返却する 利用可能なメソッドなどサーバーのオプション情報を取得する リソースの部分には、 GET や POST の対象となるファイル名などが指定でき ます。リソースにはおもに web サーバー上のファイル名などを指定します。サ ンプル中に「 /index. php 」と記述した場合は、 Web サーバーが管理している「 / 」 ディレクトリ中にある「 index. php 」ファイルを指定していることになります。 H 幵 p バージョンの部分は、おもに HTTP/ 1.1 や日 TT / 1. O と記述されま す。「 HTTP/ 1.1 」とすることで、 HTTP のバージョン 1.1 で規定された形式に従っ てリクエストしていることが分かるようになっています。古くからある HTTP サーバーなどには「 HTTP/ 1.0 」と指定して通信する場合もあります。

3. PHP 1 : はじめてのPHPプログラミング

・ 2 / イ 第 8 章 PHP のいろいろな機能 ヒし 8-4 、ファイル操作 ファイル操作とテキスト / バイナリ 学習のポイント ・ファイルには文字情報だけからなるテキストデータと数値で構成されたバイ ナリデータがある ・ PHP でファイルにアクセスするには「リソース」を利用する ・まずリソースを開き、ファイルの読み書きの後にリソースを閉じる必要が ある ・ファイルへの同時アクセスを制御する「ロック」の機能がある ・ディレクトリに対してもファイルと同様な操作が可能 KEYWORD リソース・・・ PHP でファイルにアクセスするために必要な機能、すべての操作 はリソースを取得したあとに行う ロック・・・データへの同時アクセスを防ぐためにファイルに対するほかのアクセ スを禁じる機能 ファイル操作の基本とリソース ファイル操作は、コンピュータ上の「ファイル」について「ファイルを開く」と か「ファイルを保存」といった操作ができます。 OS が提供しているファイル操 作の機能のほとんどが用意されています。 ファイル操作を覚えることで簡単な掲示板やプログなどのツールを作成する 手助けになります。 ファイル操作のはます「ファイル名」を指定して「ファイルを開いてリソース を取得」し、そのリソースを使い「ファイルの読み書き」を行い、「ファイルを閉 じてリソースを開放する」といった流れがほとんどです。多くのコンピュータ言 語と同様に、直接ファイルを指定して読み書きを行うのではなく、先に「ファイ ルを開く」、後で「ファイルを閉じる」という操作が必要なことがポイントになり

4. PHP 1 : はじめてのPHPプログラミング

1 -1 OS とアプリケーション 一見マルチタスクに見える OS で も実際にはシング丿レタスクの処理 を切り替えて動作する「擬似マル チタスク」であることもありまし た。たとえば、以前の Mac OS で はあるタスクの処理中は、ほかの タスクは ( 画面に現れていても ) 停止していました。また、 Windows 3.1 ではアプリケーションの動作 の途中で、ほかのタスクに処理を 引き渡すタイミングを意識してプ ログラミングする必要がありまし 注① -5 以前の OS はシングルタスクでしか処理を CPU に割り振ることができなかっ たため、アプリケーション A の処理が終了するのを待ってから、アプリケーショ ン B の処理を開始するというスタイルになっていました。シングルタスクの OS の場合、アプリケーション A の動作中に利用していない CPU リソースが 20 % 存 在し、アプリケーション B が動作している際には、じつに 30 % もの利用していな いリソースが存在しています ( 注① -5 ) 。 一方、最近の OS ではマルチタスクが当たり前になり、アプリケーション A の 処理中に余っている 20 % のリソースに対してアプリケーション B の仕事を少し だけ割り振れるようになっています。アプリケーション A が処理を終え、 CPU リ ソースに空きが発生したら OS は残りの CPU リソースをアプリケーション B に 割り当てます。 OS は、 CPU リソースだけではなく、メモリなどに対しても効率よ くリソースを割り振るようにしています。 図・ -4 OS によるメモリの管理① アプリケーション A が 使っているメモリ領域 メモリ領域の空きが 足りない ! 0000 アプリケーション B が 必要とするメモリ領域 しかメモリが使えない アプリケーション B は少しずつ 00 ほかのプログラムがメモリを必要とした際の割り当てがなくなり、結果的にプロ にしておく必要があります。 1 つのプログラムがメモリを全部使ってしまっては、 用するようなリソースの場合、ひとつひとつのプログラムが使うメモリを最小限 うでもありません。たとえば、メモリのように複数のプログラムから共有して利 リケーション ( プログラム ) が無尽蔵にリソースを消費していいかというと、そ ただし、 OS が CPU やメモリのリソースを管理してくれるからといって、アプ

5. PHP 1 : はじめてのPHPプログラミング

第 2 章 PHP と Web アプリケー ション KEYWORD ・ステータスメッセージ ・ステータスコード 「 HTTP バージョン」にはサーバーが応答した際の HTTP のバージョンが使 われ、日 TT / 1.1 や日 TTP / 1. x などとなります。 ステータスコードとステータスメッセージは表② -2 のようになっています。 表② -2 HTTP/I.1 のステータスコードとステータスメッセージ ( RFC2068 より抜粋 ) メソッドメッセージ 100 101 200 201 202 203 204 205 206 300 301 302 303 304 305 400 401 403 404 405 406 407 408 411 412 413 414 Continue Switching Protocols OK Created Accepted Non-Authoritative lnformation NO Content Reset Content Partial Content MuItipIe Choices Moved PermanentIy Found See Other Not Modified Use Proxy Bad Request Unauthorized Forbidden Not Found Method Not Allowed NOt Acceptable Proxy Authentication Required Request Timeout Length Required Precondition Failed Request Entity 0 Large Request-URI T00 Large 意味 処理の継続可能、続きのリクエストを要求できます サーバーによって更新ヘッダのプロトコル変更された リクエストは正常に終了しました リクエストによって新しいリソースが作成されました リクエストは受け入れたが、処理は完了していない ヘッダ情報が正しくないものである コンテンツはありません コンテンツをリセットします コンテンツの一部分を返却します リソースは変更されていません リソースは別のリソースに存在します リソースは一時的に移動しました リソースは恒久的に移動しました リソースの取得は複数の選択肢があります リクエストの U 印が大きすきます リクエスト情報が大きすきます げへッダの条件に一致しませんでした Content-Length を指定する必要がある リクエストはタイムアウトしました プロキシによる認証が必要です Accept ヘッダのメディアタイプに対応してません 許可されていないメソッドです リソースが存在しません 許可されていないリクエストです リソースへはユーザー認証が必要です リクエスト情報が不正です プロキシを利用してください

6. PHP 1 : はじめてのPHPプログラミング

注① -4 もちろんゲームのプログラム自身 が「重すき」て処理落ちしてしま う、ということもあると思います。 KEYWORD ・リソース KEYWORD ・ンングルタスク ・マルチタスク 第 1 章プログラミングの基礎知識と Web アプリケーション CPU のファンクーラーが高速で回る音を聞いたことがある方も多いと思いま す。これは多くの処理命令が CPU に通知され CPU が沢山の処理をした結果、温 度が上昇しファンクーラーが作動したといえます。しかし、このような状況が続 くと、いずれハードウェアが処理できる限界を超えてしまう危険があるため、 OS は CPU に沢山の処理命令が通知されないように制御します。この結果、 3D ゲームなどではゲーム中のキャラクター達がカクカクと「処理落ち」しながら動 いているように見えます ( 注① -4 ) 。 PC は、 CPU を含めメモリやハードディスクなどリソース ( 資源 ) と呼ばれる 有限な機能を提供します。コンピュータ上で起動する OS はこうしたリソースの 管理機能を持っているため、 PC は故障することなく、プログラムを動かすこと ができるのです。 OS は何をするのか②ソフトウェア制御 OS はハードウェアからの情報を監視するだけではなく、ソフトウェア側に対 してもハードウェアに適切な処理を分担する制御を行っています。 たとえば、アプリケーション A に CPU リソースの 80 % を消費する処理があり、 アプリケーション B に CPU リソースの 70 % を消費するような処理があった場 合、どうすればよいのでしようか。 2 つを同時に動かしてしまうと 80 % + 70 % = 150 % となり、 CPU の処理能力を超えてしまいます。そこで OS がこれらの処理 を効率良く割り振るのです。 図① -3 OS のソフトウェア制御 メモリ管理 CPU 管理 ファイル管理 。會 ' I/O 管理 呼び出し OS 呼び出し 、プログラムー プロ グラム プロ グラム プロ グラム プロ グラム プロ グラム ープログラム ましよう。シングルタスクというのはリソースを 1 つのアプリケーション ( タスク ) が占有して動作する方式、マルチタスクとは複数のアプリケーションがリソース を共有しながら同時に動作できる方式です。 こではますシングルタスクとマルチタスクという動作の方式を覚えておき

7. PHP 1 : はじめてのPHPプログラミング

8 ー 4 ファイル操作 意味 読み込み / 書き込みモードでファイルを開き、ファイルポインタを終端に配置する。 ファイルが存在しない場合は作成する。 書き込みモードでファイルを開き、ファイルポインタを先頭に配置する。ファイルが存 在しない場合は作成し、もしファイルが存在する場合は、 fopen は失敗し工ラーとな る。 読み込み / 書き込みモードでファイルを開き、ファイルポインタを先頭に配置する。 ファイルが存在しない場合は作成し、もしファイルが存在する場合は、 fopen は失敗し 工ラーとなる。 また、このモードには「 b 」を付けることでバイナリモードでファイルを開くこ string す。この fgets 関数を試すため、以下のようなファイルを fgets. txt として用意し fgets 関数はファイルポインタから 1 行読み込みを行い、その文字列を返しま ファイルポインタから 1 行読み込む。 fgets ( リソース ) ファイルの読み / 書き b001 fclose ( リソース ) 指定されたリソースのファイルを閉じる。 fcl 。 se 関数を用いてリソースを開放し、ファイルを閉じます。 f 叩 en 関数で開いたリソースは fclose が行われるまで開いた状態となります。 合は「 rb 」のようにバイナリモードを付けてファイルを開きます。 とができます。 Windows で PHP を開発していて、バイナリデータを利用する場 ファイル「 fgets. txt 」 ました。 <?php 4 行めのデータ 3 行めのデータ 2 行めのデータ 1 行めのデータ このデータを使って読み込みを行う例です。 fgets ($resource) echo I<P > 1 行読み込みます : fopen い fgets. txtl $ re S 書式 a 十 X 十

8. PHP 1 : はじめてのPHPプログラミング

・ 256 注① -9 ただし、「 . 」と「 .. 」は取り除いて います。 第 8 章 PHP のいろいろな機能 string readdir ( リン一ス ) void イルを if 文で判断して表示しています。 readdir($dir) を繰り返し実行しながら ( 注 0-9 ) 、ディレクトリであるかファ すべてを取得しています。 opendir ( $path) でディレクトリを開き、 す。下記のサンプルでは / tmp ディレクトリ中のファイルもしくはディレクトリ readdir 関数はディレクトリ内のファイル名を取得することができる関数で ディレクトリからファイル名を返す。ディレクトリからファイルの取得に失敗した際は回 se を返す。 ディレクトリの内容を読み取る ます。 叩 endir 関数で開かれたリソースは、次の readdir 関数や closedir 関数で利用し 叩 endir 関数、 closedir 関数は f 叩 en 関数、 fclose 関数と同じように使用します。 opendir 関数で開いたリソースを閉じる。 closedir ( リソース ) resource スで指定されたディレクトリを開き、リソースを戻す。 opendir ( ディレクトリを開く / 閉じる C:YxamppYhtdocsYsamp1e. セ x ヒは存在しません C:YxamppYhtdocsYsamp1e. セ x ヒは存在します 実行結果 0-37 unlink ($fi1ePath) echO ー <P> ー 土 lepa セ h ′ーは存在しませんく / p ・ if ( ! file exists ($fi1ePath) ) { echO ーく > ー $filepath, ーは存在しますく / p ゾ・ if(file exists($fi1ePath)){

9. PHP 1 : はじめてのPHPプログラミング

PHP ①ーー 練習問題解答および解答例 練習問題のうちプログラム ( スクリプト ) を作成する問題は、ひとつの解答例です目的を 達成できて標準的な web プラウザなどで問題なく動作すれば正解とします。 なお、プログラムは本書に解説した環境で確認しましたが、各ソフトウェアバージョンや Web プラウザの種類によっては、この練習問題で示したコードが正しく動作しない、あるい は予期したものと異なる表示となる場合があります。 第一章 1.1 本章にあった次のポイントを確認しておきましよう 6 OS ・・・ Operating System は、ハードウェアとアプリケーションソフトウェアの間で動作す る基本ソフトウェア。ハードウェアからの情報の入出力を管理し、アプリケーションの動作 を制御し、リソースの提供を行う リソース・・・ハードウェアから提供される CPU やメモリ、ディスクなどの総称。それぞれが有 限の機能をソフトウェアに提供する ソフトウェア制御・・・ OS がソフトウェアに提供するハードウェアリーソースを管理すること。 リソースを制御することで、ハードウェアとアプリケーションを効率良く動作させる 1 .2 コンバイル型 / インタブリタ型の違いはプログラムの動作や開発方式に大きく影響す る部分です。 コンバイラ型言語とインタブリタ型言語は、実行用パイナリを生成するかしないかという点 に違いがあります。コンバイラ型では、コンバイラがソースコードからバイナリを生成する のに対し、インタブリタ型ではインタブリタがソースコードを逐次解釈しながら実行してい きます。ソースに文法の間違いがあった場合、コンバイラ型ではコンバイルの時点でエラー が発生しますが、インタブリタ型では実行してみるまでエラーがあるかは分かりません。 1 .3 以下のようにⅡ TTP サーバーアプリケーションとサーバーサイドアプリケーションは 言葉が似ていますので違いに注意しましよう。

10. PHP 1 : はじめてのPHPプログラミング

・ 36 KEYWORD ・リソース 注② -4 第 2 章 PHP と Web アプリケー ション ここでいうリソースとは、 HTTP サーバーが管理している HTML ファイルやサーバーサイドプログ ラムのことになります。 Accept-Encoding: gzip, deflate Accept-Charset: ÜTF- 8 ′ * Reep-A1ive : 300 Connection: keep-alive Content-Type: application/x-www-form-urlencoded HTTP/I.x 200 OK リスト② -2 HTTP レスポンスの例 ( リスト② -2 ) 。 a = 123 & b = 456 Content-Length: 10 これに対して、 HTTP サーバーからは以下のようなメッセージが戻ります は紙面の都合で折り返していることを表わしています。 Connection: keep-alive Reep-A1ive : timeout=5 ′ max=99 Expires: Thu, 12 NOV 1981 08 : 52 : 00 GMT Last-Modified: Sun, 19 Oct 2008 P 日 P / 5.2.6 server: Apache/2.2.9 (Unix) mod 881 / 2.2.9 0 enSS も / 0.9.71 DAV/2 Date: Sun, 12 Oc ヒ 2008 15 : 13 : 36 15 : 13 : 3 6 GMT GMT 一見すると意味がほとんど分からないと思いますが、これからリクエストメッ は紙面の都合で折り返していることを表わしています。 </html> く /bodY> く > He110 wo て ld く / p > く b0dY> く /he ad> く title>test page</title> <head> く h セ m1 > Content-Length: 10292 Content-Encoding: gzip Content-Type: text/html; charset=utf-8 セージとレスポンスメッセージのおおまかな意味について解説していくことに 行うメッセージです ( 注② -4 ) 。 HTTP リクエスト します。 HTTP リクエストメッセージは、 HTTP サーバーに対してリソースの要求を