Maison > Article > Tutoriel CMS > Que dois-je faire si les phpcms ne peuvent pas être collectés ?
Que dois-je faire si les phpcms ne peuvent pas être collectés ?
La principale raison pour laquelle le contenu du site Web https ne peut pas être collecté est que https ne prend pas en charge file_get_contents pour obtenir du contenu, vous pouvez donc envisager d'utiliser curl pour l'obtenir. (curl doit être activé, vous pouvez le vérifier dans pathinfo)
(1) Ouvrez phpcmsmodulescollectionclassescollection.class.php
Ajoutez une nouvelle fonction dans la classe :
protected static function curl_request($url){ if (!function_exists('curl_init')) { throw new Exception('server not install curl'); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//禁止调用时就输出获取到的数据 curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false); $result = curl_exec($ch); curl_close($ch); return $result; }
(2) La fonction Rechercher une fonction get_htm change la fonction
protected static function get_html($url, &$config) { if (!empty($url) && $html = @file_get_contents($url)) { if ($syscharset != $config['sourcecharset'] && $config['sourcetype'] != 4) { $html = iconv($config['sourcecharset'], CHARSET.'//TRANSLIT//IGNORE', $html); } return $html; } else { return false; } }
en
protected static function get_html($url, &$config) { if(substr(trim($url),0, 5) == "https"){ $html = @self::curl_request($url); }else{ $html = @file_get_contents($url); } if (!empty($url) && $html) { if ($syscharset != $config['sourcecharset'] && $config['sourcetype'] != 4) { $html = iconv($config['sourcecharset'], CHARSET.'//TRANSLIT//IGNORE', $html); } return $html; } else { return false; } }
puis l'enregistre pour l'obtenir. Le résultat du test est
.. Je ne sais pas s'il est toujours disponible. Pour les autres bugs, merci de laisser des commentaires et des retours !
Site Web PHP chinois, un grand nombre de Tutoriels PHPCMS gratuits, bienvenue pour apprendre en ligne !
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!