Maison > Tutoriel CMS > PHPCMS > le corps du texte

Que dois-je faire si la fonction de collecte de phpcms v9 ne peut pas être utilisée ?

藏色散人
Libérer: 2020-01-10 10:11:01
original
2825 Les gens l'ont consulté

Que dois-je faire si la fonction de collecte de phpcms v9 ne peut pas être utilisée ?

Que dois-je faire si la fonction de collecte de phpcms v9 ne peut pas être utilisée ?

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; 
    }
Copier après la connexion

(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; 
        } 
    }
Copier après la connexion

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; 
        } 
    }
Copier après la connexion

puis l'enregistre pour l'obtenir. Le résultat du test est

Que dois-je faire si la fonction de collecte de phpcms v9 ne peut pas être utilisée ?

.

. 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!

É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