Heim > Artikel > CMS-Tutorial > Was soll ich tun, wenn die Sammelfunktion von phpcms v9 nicht verwendet werden kann?
Was soll ich tun, wenn die Sammelfunktion von phpcms v9 nicht genutzt werden kann?
Der Hauptgrund, warum Inhalte von https-Websites nicht erfasst werden können, ist, dass https file_get_contents zum Abrufen von Inhalten nicht unterstützt. Sie können daher die Verwendung von Curl in Betracht ziehen, um diese abzurufen. (Curl muss aktiviert sein, Sie können es in den Pfadinformationen überprüfen)
(1) Öffnen Sie phpcmsmodulescollectionclassescollection.class.php
Fügen Sie eine neue Funktion in der Klasse hinzu:
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) Die Funktion „Funktion finden“ get_htm ändert die Funktion
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; } }
in
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; } }
und speichert sie dann, um das Testergebnis zu erhalten:
Ich weiß nicht, ob es noch verfügbar ist. Bei anderen Fehlern hinterlassen Sie bitte Kommentare und Feedback!
PHP-Website für Chinesisch, eine große Anzahl kostenloser PHPCMS-Tutorials, willkommen zum Online-Lernen!
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die Sammelfunktion von phpcms v9 nicht verwendet werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!