phpプロトコルの詳しい説明

php中世界最好的语言
リリース: 2023-03-18 07:52:01
オリジナル
3904 人が閲覧しました

今日の WEB プログラム開発技術には多くの議論があることは承知していますが、今後 WEB 技術がどのように発展しても、WEB プログラムの品質検査のための基本的な通信プロトコルは非常に重要です。 今日は WEB アプリケーションの内部の仕組みについて紹介します。

PHP には、fopen()、copy()、file_exists()、filesize() などの ファイル システム 関数で使用できる、多くの組み込み URL スタイル ラッパー プロトコルが付属しています。 これらのパッケージング プロトコルに加えて、stream_wrapper_register() を介してカスタム パッケージング プロトコルを登録することもできます。

注: カプセル化されたプロトコルを記述するために使用される URL 構文は、scheme://... 構文のみをサポートします。スキーム:/ およびスキーム: 構文はサポートされていません。

phpプロトコルタイプ

file:// — ローカルファイルシステムにアクセスします

http:// — HTTP URLにアクセスします

ftp:// — FTP URLにアクセスします

php:// — 個々の入出力ストリーム (I/O ストリーム) へのアクセス

zlib:// — 圧縮ストリーム

data:// — データ (RFC 2397)

glob:// — 一致するファイル パス パターンの検索

phar :// — PHP アーカイブ

ssh2:// — Secure Shell 2

rar:// — RAR

ogg:// — オーディオ ストリーミング

expect:// — インタラクティブ ストリーミングの処理

PHP。 ini

allow_url_fopen: on デフォルトでは、このオプションをオンにすると、fopen カプセル化プロトコルが URL 形式でアクティブになり、URL オブジェクト ファイルなどへのアクセスが許可されます。

allow_url_include: off はデフォルトでオフになっています。このオプションがオンの場合、URL オブジェクト ファイルなどの組み込みが許可されます。

file:// プロトコル

file:// - ローカル ファイル システムにアクセスします。影響を受けません。 allow_url_fopen およびallow_url_include による


Usage

file:// [ファイルの絶対パスとファイル名]

   
http://127.0.0.1/code/1.php?file=file:///E:\phpStudy\WWW\code\phpinfo.php
ログイン後にコピー



php://protocol

php:// — 各入力にアクセスします/output ストリーム (I/O ストリーム)

allow_url_fopen を有効にする必要はありません。allow_url_include を有効にする必要があるのは、php://input、php://stdin、php://memory、php://temp のみです。

php://stdin、php://stdout、php://stderr

php://stdin、php://stdout、php://stderr では、対応する入力ストリームまたは出力ストリームに直接アクセスできます。 PHPプロセス。

php://stdin は読み取り専用、php://stdout と php://stderr は書き込み専用です。

php://stdin

<?php
 while($line = fopen(&#39;php://stdin&#39;,&#39;r&#39;))
 {//open our file pointer to read from stdin
 echo $line."\n";
 echo fgets($line);//读取
ログイン後にコピー


<?php
 $fd = fopen(&#39;php://stdout&#39;, &#39;w&#39;);
 if ($fd) {
 echo $fd."\n";
 fwrite($fd, "test");
 fwrite($fd, "\n");
 fclose($fd);
 }
?>
ログイン後にコピー
<?php
 $stderr = fopen( &#39;php://stderr&#39;, &#39;w&#39; );
 echo $stderr."\n";
 fwrite($stderr, "uknow" );
 fclose($stderr);
?>
ログイン後にコピー

最も一般的に使用される疑似プロトコル。一般に、任意のファイルを読み取るために使用できます。

php://filter は、データ ストリームが開かれたときにアプリケーションをフィルタリングするために設計されたメタラッパーです。 これは、ストリームのコンテンツが読み取られる前に追加のフィルターを適用する機会がない、readfile()、file()、file_get_contents() などのオールインワン ファイル関数に役立ちます。


resource=<フィルタリングされるデータストリーム> このパラメータは必須です。フィルタリングするデータ ストリームを指定します。

read=<チェーンフィルタリストの読み取り> このパラメータはオプションです。 1 つ以上のフィルター名をパイプ文字で区切って設定できます。

write=<チェーンフィルタリストの書き込み> このパラメータはオプションです。 1 つ以上のフィルター名をパイプ文字で区切って設定できます。

<両方のチェーンのフィルタ リスト> read= または write= のプレフィックスが付いていないフィルタ リストは、必要に応じて読み取りチェーンまたは書き込みチェーンに適用されます。

<?php
    include($_GET[&#39;file&#39;])
?>
ログイン後にコピー

http://127.0.0.1/code/1.php?file=php://filter/read=convert.base64-encode/resource=./phpinfo.php


これらを読んだ後、私は信じますケース この方法はマスターしました。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

関連書籍:

PHP の高トラフィックの最適化?

PHP製品フラッシュセールのタイミング実装(大規模なトラフィックを解決するソリューション)

PHPがWebサイトの大規模なトラフィックと高い同時実行性をどのように解決するか

以上がphpプロトコルの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!