Maison >développement back-end >tutoriel php >Explication détaillée du protocole php

Explication détaillée du protocole php

php中世界最好的语言
php中世界最好的语言original
2017-12-20 19:26:463945parcourir

Nous savons que la technologie de développement de programmes WEB d'aujourd'hui est pleine de controverses, mais quelle que soit la manière dont la technologie WEB se développera à l'avenir, le protocole de communication de base pour l'inspection de la qualité des programmes WEB est très important. Aujourd'hui, je vais vous présenter l'application WEB Inner. Workings

PHP est livré avec un certain nombre de protocoles wrapper de style URL intégrés pour les systèmes de fichiers comme fopen(), copy(), file_exists() et filesize() 🎜> Fonction. En plus de ces protocoles d'encapsulation, des protocoles d'encapsulation personnalisés peuvent également être enregistrés via stream_wrapper_register().

Remarque : La syntaxe URL utilisée pour décrire un protocole d'encapsulation ne prend en charge que la syntaxe schéma://.... Les syntaxes schéma:/ et schéma: ne sont pas prises en charge.

type de protocole php

fichier:// — accéder au système de fichiers local

http:// — accéder à l'URL HTTP(s)

ftp:// — Accédez aux URL FTP(s)

php:// — Accédez aux flux d'entrée/sortie individuels (flux d'E/S)

zlib:// — Flux compressés

data:// — Données (RFC 2397)

glob:// — Trouve un modèle de chemin de fichier correspondant

phar:// — Archive PHP

ssh2:// — Secure Shell 2

rar:// — RAR

ogg:// — Streaming audio

expect:// — Traiter les flux interactifs

PHP.ini

allow_url_fopen : on Par défaut, activer cette option signifie activer le protocole d'encapsulation fopen sous la forme d'une URL, faisant il permet d'accéder aux fichiers objets URL, etc.

allow_url_include : off est désactivé par défaut. Si cette option est activée, elle permet l'inclusion de fichiers objets URL, etc.

file:// protocole

fichier. :// — accéder au système de fichiers local, non affecté par Allow_url_fopen et Allow_url_include


Utilisation

file:// [chemin absolu et nom de fichier du file]

   
http://127.0.0.1/code/1.php?file=file:///E:\phpStudy\WWW\code\phpinfo.php



php://protocol

php:// — Accéder à diverses entrées/sorties streams (flux d'E/S)

Vous n'avez pas besoin d'activer Allow_url_fopen, seuls php://input, php://stdin, php://memory et php://temp doivent activer Allow_url_include .

php://stdin, php://stdout et php://stderr

php://stdin, php://stdout et php://stderr permettent un accès direct à PHP Le flux d'entrée ou de sortie correspondant du processus.

php://stdin est en lecture seule, php://stdout et php://stderr sont en écriture seule.

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);
?>
Le pseudo-protocole le plus couramment utilisé, qui peut généralement être utilisé pour lire n'importe quel fichier Pick.

php://filter est un méta-wrapper conçu pour filtrer les applications lorsqu'un flux de données est ouvert. Ceci est utile pour les fonctions de fichier tout-en-un comme readfile(), file() et

file_get_contents(), où il n'y a aucune possibilité d'appliquer des filtres supplémentaires avant la lecture du contenu du flux.


resource=c119d2437ad22d954d390b5b6e078a68 Ce paramètre est obligatoire. Il spécifie le flux de données que vous souhaitez filtrer.

read=bdc94022132a1cd651fef775189e7ccb Un ou plusieurs noms de filtre peuvent être définis, séparés par des barres verticales.

write=ee03a1963e01bf8362c7364d267ac310 Un ou plusieurs noms de filtre peuvent être définis, séparés par des barres verticales.

7f48e32809331222d0aebed834bcdbeb Toute liste de filtres non préfixée par read= ou write= sera appliquée à la chaîne de lecture ou d'écriture, selon le cas.

<?php
    include($_GET[&#39;file&#39;])
?>
http://127.0.0.1/code/1.php?file=php://filter/read=convert.base64-encode/resource=./phpinfo.php


Je pense que vous maîtrisez les méthodes après avoir lu ces cas. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture connexe :

Optimisation du trafic PHP élevé ?

Mise en œuvre du timing de vente flash de produits PHP (solution au trafic important)

Comment PHP résout le problème des grands sites Web trafic et haute concurrence

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Comment utiliser AjaxArticle suivant:Comment utiliser Ajax