Autor | Zpráva | ||
---|---|---|---|
Tuzka Profil * |
#1 · Zasláno: 29. 11. 2015, 12:35:17
Ahoj,
níže script háže hlášku Warning: file_get_contents ikdyž url existuje. Některé to zobrazí u některých to hodí chybu již zmíněnou. Lze to nějak vyřešit? function ziskat($url) { $content = file_get_contents($url); $first_step = explode( '<div>' , $content ); $second_step = explode("</div>" , $first_step[1] ); $obsah = strip_tags($second_step[0]); return $obsah; } echo ziskat("www.azlyrics.com/lyrics/$interpret/$skladba.html"); Adresa u které mi to háže chybu je www.azlyrics.com/lyrics/garthbrooks/midnightsun.html Když si nechám vypsat echo "www.azlyrics.com/lyrics/$interpret/$skladba.html"; , tak je právě ta co existuje.
|
||
Taps Profil |
#2 · Zasláno: 29. 11. 2015, 12:55:20
Tuzka:
chybu to vyhazuje i když použiješ url s http? http://www.azlyrics.com/lyrics/$interpret/$skladba.html |
||
Tuzka Profil * |
#3 · Zasláno: 29. 11. 2015, 13:00:25
Taps:
Ano úplně stejnou |
||
Adams02 Profil |
#4 · Zasláno: 29. 11. 2015, 13:27:51
Tuzka:
Mohlo by to být prohlížečem, protože mně ta URL funguje (Používám Google Chrome). |
||
Tuzka Profil * |
Adams02:
To mě ta url také funguje, jen né v tom scriptu. PHP info mi ukazuje: allow_url_fopen On allow_url_include Off V chrome to mám stejně. |
||
Tuzka Profil * |
#6 · Zasláno: 29. 11. 2015, 15:55:19
Ještě je u toho jedna hláška a to: failed to open stream: HTTP request failed! in na řádku $content = file_get_contents($url);
|
||
PecanCZ Profil |
#7 · Zasláno: 29. 11. 2015, 16:30:44
|
||
Tuzka Profil * |
Zkusil jsem to takto:
function ziskatlyrics($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); $first_step = explode( '<div>' , $output ); $second_step = explode("</div>" , $first_step[1] ); $obsah = strip_tags($second_step[0]); var_dump($obsah); } echo ziskatlyrics("http://www.azlyrics.com/lyrics/$interpret/$skladba.html"); } A vypíše mi to: string(0) "" Ještě jedna úprava, ovšem zase bez výsledku: function ziskatlyrics($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); $obsah = explode('/<div>(.*?)<\/div>/s', $output); var_dump($obsah); var_dump($url); curl_close($ch); } echo ziskatlyrics("http://www.azlyrics.com/lyrics/$interpret/$skladba.html"); Vypíše: array(1) { [0]=> string(0) "" } string(61) "http://www.azlyrics.com/lyrics/garth-brooks/midnight-sun.html" |
||
Tuzka Profil * |
#9 · Zasláno: 29. 11. 2015, 19:33:54
Zkusil jsem to ještě celé jinak ale také bez výsledku:
function ziskatlyrics($url) { $curl = curl_init(); curl_setopt ($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($curl); curl_close ($curl); preg_match('/<div>(.*?)<\/div>/s', $result, $matches); print_r($matches[1]); $vysledek = $matches[1]; print $result; var_dump($vysledek); var_dump($url); } echo ziskatlyrics("http://www.azlyrics.com/lyrics/$interpret/$skladba.html"); Var_dump vypíše: NULL string(59) "www.azlyrics.com/lyrics/garthbrooks/midnightsun.html" Možná mám špatně ten regulerní výraz, nevím jak ho ověřit ale '/<div>(.*?)<\/div>/s'
|
||
Slark Profil * |
#10 · Zasláno: 29. 11. 2015, 23:39:43
<?php $data = file_get_contents("http://www.azlyrics.com/lyrics/garthbrooks/midnightsun.html"); preg_match('/<div>(.*?)<\/div>/s',$data,$matches); echo $matches[0]; ?> Vypíše: [Verse 1:] Ain't no hay left on the ground Gonna join the sun in sitting down My last bale and well my tail is dragging Cotton shirt, Cotton mouth Cold ones waiting at the house It's time for me to get down off the wagon .... .... .... Pokud vám kód nefunguje bude chyba na straně konfigurace vašeho serveru. |
||
Tuzka Profil * |
Slark:
Bohužel stejná chyba jako v prvním příspěvku. „Pokud vám kód nefunguje bude chyba na straně konfigurace vašeho serveru.“ Proč to nedělá u všech adres? Odzkoušeno i na jiném hostingu a stejný problém |
||
Tuzka Profil * |
#12 · Zasláno: 30. 11. 2015, 05:23:20
Vypis z curl info
DEBUG array(20) { ["url"]=> string(59) "http://www.azlyrics.com/lyrics/garthbrooks/midnightsun.html" ["content_type"]=> string(9) "text/html" ["http_code"]=> int(404) ["header_size"]=> int(343) ["request_size"]=> int(90) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(0.006943) ["namelookup_time"]=> float(0.003477) ["connect_time"]=> float(0.004391) ["pretransfer_time"]=> float(0.004431) ["size_upload"]=> float(0) ["size_download"]=> float(408) ["speed_download"]=> float(58764) ["speed_upload"]=> float(0) ["download_content_length"]=> float(0) ["upload_content_length"]=> float(0) ["starttransfer_time"]=> float(0.006913) ["redirect_time"]=> float(0) } |
||
Slark Profil * |
#13 · Zasláno: 30. 11. 2015, 10:05:24
To je divné., u koho máte hosting? Není možné že ten web banuje ip adresu hostingu?
|
||
Tuzka Profil * |
#14 · Zasláno: 30. 11. 2015, 10:18:56
Slark:
Zkouším to na dvou hostinzích. Endora a hosting-zdarma.cz O blokaci ip asi nemůže být řeč, protože některou adresu to vypíše správně |
||
Časová prodleva: 7 let
|
0