Autor | Zpráva | ||
---|---|---|---|
houbeless Profil |
#1 · Zasláno: 9. 7. 2008, 18:25:59
Zdravim,
chci si udělat, takovej skriptík, který by uměl ověřit platnost url adres, tj. jestli daná stránka ještě existuje, a výsledek nějak vyhodnotit, např. dát podnět k jejimu odstranění z db. Je to v podstatě to, co dělají různé webové validátory, bohužel mě ale nenapadá jak bych měl postupovat a na netu jsem nenašel nějaký popis - nic, co by mě popostrčilo. Ale tušim, že by v tom mohl sehrát roli HTML tag <link rel="prefetch"...>, tedy nechci stránku načítat, ale pouze otestovat, ale nenapadá mě jak to udělat v praxi. Nemá zde někdo zkušenost, jak validátory fungují, nebo má-li někdo chuť nadhodit nějaké řešení... Děkuji |
||
Chamurappi Profil |
#2 · Zasláno: 9. 7. 2008, 18:44:56 · Upravil/a: Chamurappi
Reaguji na houbeless:
Služby ověřující funkčnost odkazů obvykle posílají HEAD požadavky. Servery jim na ně pak odpovídají jen HTTP hlavičkou, ze které lze určit stav a případně i typ zdroje. |
||
houbeless Profil |
#3 · Zasláno: 9. 7. 2008, 19:02:06
Znamená to tedy, že by stačilo poslat požadavek fci Header a pak ověřit jesli dopadla pozitivně?
Např.: if (headers_sent()) { header('Location: http://www.example.com/'); pak .... něco napiš/udělej.. |
||
Chamurappi Profil |
#4 · Zasláno: 9. 7. 2008, 22:41:38
Reaguji na houbeless:
Ne. Potřebuješ poslat nový požadavek na dotyčnou URL, nikoliv upravovat hlavičku odpovědi určené pro návštěvníka. Víc nepovím, PHP neumím. |
||
houbeless Profil |
#5 · Zasláno: 9. 7. 2008, 23:20:04
Mno už jsem objevil ameriku, resp. fci get_headers :)
Takže elegantní řešení je toto: function file_external_exists($url) { $headers = @get_headers($url); if(preg_match("|200|",$headers[0])) return(true); else return(false); } |
||
Časová prodleva: 13 dní
|
|||
JS Profil * |
#6 · Zasláno: 22. 7. 2008, 13:00:56
Geniálně jednoduché. Jednoduše geniální. Vřelé poděkování houbelesovi, že to sem dal pár dní předem, než jsem to já potřeboval a nemusel to hledat v manuálu ;)
|
||
Časová prodleva: 12 měsíců
|
|||
woodicek Profil * |
#7 · Zasláno: 22. 7. 2009, 14:20:56
ta funkce ovsem neresi weby, ktere vraci 300 nebo 301 a weby, ktere vyuzivaji presmerovani titulky kvuli cool uri. je tedy potreba prochazet cele pole, ne jen vzit prvni polozku pole.
|
||
Časová prodleva: 15 let
|
0