Le contenu de cet article concerne des exemples de code pour explorer des images avec PHP et les enregistrer localement. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Revoir l'utilisation de plusieurs fonctions php à travers un exemple simple
curl envoie des requêtes réseau
preg_match match régulier
$url = 'http://desk.zol.com.cn/bizhi/7386_91671_2.html'; $headers = [ 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36' ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //将curl_exec()获取的信息以字符串返回,而不是直接输出。 curl_setopt($ch, CURLOPT_HEADER, $headers); $output = curl_exec($ch); curl_close($ch); $str = mb_convert_encoding($output, 'utf-8', 'gb2312'); //或$str = iconv('gb2312//IGNORE', 'utf-8', $output); preg_match('!<img id="bigImg" src="(?<src>http.*\.(?<ext>jpg|png))".*>!', $str, $m); file_put_contents('./meinv.' . $m['ext'], file_get_contents($m['src']));
Les étapes pour établir une connexion curl en php sont généralement : l'initialisation, la définition des options, l'exécution des opérations et la libération de la connexion.
$ch = curl_init(); curl_setopt($ch, CURLOPT, $opt); $out = curl_exec($ch); curl_close();
Paramètres CURLOPT
couramment utilisés, plus de documents de référence http://php.net/manual/zh/function.curl-setopt.php
CURLOPT_URL, string //设置url必须 CURLOPT_HEADER, array //设置请求header CURLOPT_RETURNTRANSFER, bool //为true时,以字符串返回响应,不包含header CURLOPT_SSL_VERIFYPEER, bool //为false时,不验证https证书,用于请求https的url CURLOPT_POST, int //为1时配合CURLOPT_POSTFIELDS使用post请求,默认使用get CURLOPT_POSTFIELDS, array //post数据数组
Sortie directe tronquée des caractères ont été trouvés dans $output. En vérifiant le code source, nous avons constaté que la page Web utilise le codage gb2312. Utilisez mb_convert_encoding ou iconv pour la convertir en codage utf-8 pour la sortie.
preg_match Match régulier
En consultant le code source, nous avons constaté que la balise d'image dont nous avons besoin est
Expression régulière
<img id="bigImg" src="(?<src>http.*\.(?<ext>jpg|png))".*>
.* Correspond à tout, (?
Enfin $ match['src '] Obtenez la véritable URL de l'image et enregistrez-la via file_put_contents, même si elle est complétée
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!