Explication détaillée de la façon dont PHP lit ou récupère les instances de code distant

伊谢尔伦
Libérer: 2023-03-14 08:48:02
original
2189 Les gens l'ont consulté

Code PHP pour explorer les données de sites Web distants

Maintenant, de nombreux passionnés de programmes seront peut-être confrontés à la même question, c'est-à-dire comment explorer les sites Web d'autres personnes comme un moteur de recherche HTML code, puis collectez et organisez le code en données utiles ! Permettez-moi de vous présenter quelques exemples simples aujourd'hui
Ⅰ Exemple de récupération du titre d'une page Web distante :
Ce qui suit est un extrait de code :

.
<?php
/*
+-------------------------------------------------------------
+抓取网页标题的代码,直接拷贝本代码片段,另存为.php文件执行即可.
+-------------------------------------------------------------
*/
error_reporting
(7);
$file = fopen ("http://www.php.cn/", "r");
if (!$file) {
echo "<font color=red>Unable to open remote file.</font>\n";
exit;
}
while (!feof ($file)) {
$line = fgets ($file, 1024);
if (eregi ("<title>(.*)</title>", $line, $out)) {
$title = $out[1];
echo "".$title."";
break;
}
}
fclose($file);
//End
?>
Copier après la connexion

Ⅱ. Exemple de récupération du code HTML d'une page Web distante :
Voici l'extrait de code :

<? php
/*
+----------------
+DNSing Sprider
+----------------
*/
$fp = fsockopen("www.php.cn", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br/>\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host:www.php.cn\r\n";
$out .= "Connection: Close \r\n\r\n";
fputs($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
//End
?>
Copier après la connexion

Copiez directement les deux extraits de code ci-dessus et réexécutez-les. pour voir l'effet. L'exemple ci-dessus n'est qu'un prototype de récupération de données de page Web. Pour le rendre plus adapté à votre propre usage, la situation varie

fopen() lie le nom de la ressource. spécifié par fichier dans un flux.
filesize renvoie le nombre d'octets de la taille du fichier et renvoie FALSE si une erreur se produit
Remarque : parce que le type entier de PHP. est signé et la plupart des plates-formes utilisent des entiers 32 bits. La fonction filesize() peut renvoyer des résultats inattendus lorsqu'elle rencontre des fichiers de plus de 2 Go. Pour les fichiers entre 2 Go et 4 Go, sprintf("%u", filesize($file)) peut généralement être. utilisé pour surmonter ce problème.
fread() lit jusqu'à la longueur des octets à partir du handle du pointeur de fichier. La fonction s'arrête lorsque la longueur des octets est lue, ou lorsque l'EOF est atteint, ou (pour les flux réseau) lorsqu'un paquet est disponible <.>Lisez le fichier, selon la situation rencontrée en premier. Remarque : utilisation de la version basse ! Il est recommandé d'utiliser
file_get_contents pour php5

file_get_contents -- get. le fichier entier Lire dans une

chaîne string file_get_contents ( string filename [, int use_include_path [, resource context]])
Identique à file(), sauf que file_get_contents() renvoie le fichier comme une chaîne de caractères.
La fonction file_get_contents() est la méthode préférée pour lire le contenu d'un fichier dans une chaîne. Si le système d'exploitation la prend en charge, la technologie de mappage de mémoire sera également utilisée pour améliorer les performances.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!