Autor | Zpráva | ||
---|---|---|---|
Fisir Profil |
#1 · Zasláno: 28. 10. 2012, 15:11:03
Ahoj,
přeinstaloval jsem server z Debianu na Ubuntu, a chtěl jsem tam nahrát svůj web. Jenže, serverová část, která vrací titulky JavaScriptu nehlásí žádnou chybu, ale nic nevrátí. Na Debianu to fungovalo. Podle phpinfo(); je direktiva allow_url_fopen zapnutá.
<?php function getTitle($Url){ if(!preg_match("/http(s)?:\/\//",$Url)){ $Url = "http://www.j-jaburek.tk/".$Url; }; $str = file_get_contents($Url); if(strlen($str)>0){ preg_match("/\<title\>(.*)\<\/title\>/",$str,$title); $string = $title[1]; $patterns = array(); $patterns[0] = '/ \| Jakub Jabůrek/'; $replacements = array();; $replacements[0] = ''; $title[1] = preg_replace($patterns, $replacements, $string); // Přidání kotvy if(preg_match("/#(.*)/",$Url)){ preg_match("/#(.*)/",$Url,$kotva); preg_match("/<(.*)(id|name)=(\"|')".$kotva[1]."(\"|')(.*)?>(.*)<\/(.*)>/",$str,$kotv); $title[1] .= " » ".$kotv[6]; }; return $title[1]; }; }; if(!preg_match("/http(s)?:\/\/(.*)j-jaburek.tk/",$_GET["url"]) and preg_match("/http(s)?:\/\//",$_GET["url"])){ die("Externí weby nejsou podporovány!"); }; $titulek = getTitle($_GET["url"]); if(!$_GET["url"] or $titulek == ""){ die("Chyba při extrahování titulku!"); }; echo $titulek; ?> |
||
DJ Miky Profil |
#2 · Zasláno: 28. 10. 2012, 16:33:55
A máš na serveru zapnuté vypisování chyb (
display_errors )? Standardně to bývá vypnuté, místo toho se chyby zapisují do error_log u.
|
||
Oison Profil |
#3 · Zasláno: 30. 10. 2012, 16:43:10
Zkus použít místo toho file_get_contents cURL. Taky jsem s tím měl problémy. Do dnes vlastně ani nevím proč -> použímám cURL a je to paráda :)))
Tady je jednoduchá funkce na získání obsahu po GET requestu: function getData($url, $timeout = 5) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); $data = curl_exec($ch); curl_close($ch); return $data; } Zkus a uvidíš ;) |
||
Fisir Profil |
#4 · Zasláno: 30. 10. 2012, 16:52:18
Reaguji na Oisona [#3]:
Díky, zatím to funguje. Zkusím se ještě pohrabat v nastavení, aby fungovalo i file_get_contents .
|
||
Oison Profil |
No mně třeba na localhostu na xubuntu funguje file_get_contents bez chyby. Ale po serveru je to jak kdy... Zaleží hodně na hostingu! Vážně! Přejdi taky na cURL a už tě to nikdy nebude trápit! :)
|
||
Časová prodleva: 13 let
|
0