Shoptet - e-shop s napojením na Aukro a Facebook od 190,- Kč za měsíc. 30 dní zdarma
Zobrazují se odpovědi 1 až 22 z 22

Pravidelná kontrola funkčnosti stránek

  1. Jelikož nejsem v PHP moc zběhlý (co si budeme namlouvat, neumím skoro nic ;) ), chtěl bych se zeptat, jestli by šla udělat jedna věc. Mám proměnný seznam několika adres, které potřebuji kontrolovat dejme tomu každou hodinu, jestli běží jak mají. Princip je asi jednoduchý - veme se adresa ze seznamu, script ji hodí do prohlížeče a výsledek bude "ok", když se načte cokoli kromě typické "errorové" stránky. Připadá mi to vcelku jednoduché, ale mohu se mýlit. Co myslíte?

  2. Happy Robot :]

    Co se právě děje na Webtrhu?

  3. www.monitoring-serveru.cz by mohl být to, co hledáš. Zdarma to kontroluje stránky v intervalu 10 minut, dokáže to při výpadku poslat mail.

  4. Pokud si s tím chceš hrát, ke vzdáleným souborům lze přistupovat pomocí standartních příkazů fopen a fgets, to ale na hostingu často nebývá povoleno. Podobně je to s fsockopen. Na některých hostinzích existuje plnohodnotná náhrada curl. Je pak potřeba ke každému volání nastavit timeout, typ requestu (např HEAD, aby se zbytečně nestahovala celá stránka) a pak třeba kontrolovat návratový kód...

    No a nebo se můžeš zaregistrovat na monitoring-serverů.cz :smoking:

  5. Ještě bych doplnil tracy: Pokud ti nevyhovuje kontrola na stavový kód stránky a chceš kontrolovat obsah, tak si to zřejmě budeš muset naprogramovat sám (curl). A v tom případě bych se pak zase zaregistroval na monitoring-serveru.cz - a používal je jako cron zdarma:-) Třeba Czechia chce za jednorázové nastavení cronu nekřesťanských 590 Kč.

  6. O tvé špatné zkušenosti s hostingem Czechia jsem už kdesi četl a musím souhlasit. Než ale takové komplikované řešení, tak raději přejdu ke konkurenci, která má cron zdarma.

  7. Zajímavá adresa a díky za ní. Avšak jak jsem psal, mám seznam desítky adres, který se každý den mění. A abych musel ručně v této službě každý den adresy přepisovat, mi přijde značně časově náročné. Proto budu muset zřejmě využít vlastní ( :D ) scriptové provedení.

    Ještě by mě zajímal jeden dotaz, nechci kvůli němu zbytečně zakládat další vlákno. Snad to nevadí....
    Potřeboval bych zase v PHP udělat pravidelné zjišťování zpětných odkazů na můj projekt. Tedy pravidelné vkládání např. do googlu "link:neco.cz" a číselný výsledek z google vypreparovat. Mohli by jste poradit funkce na zmýněné vkládání dotazu a preparaci?

  8. Předně - nepoužívej na zjišťování zpětných odkazů Google, ale pro svět Yahoo a pro Česko Jyxo. Skript je podle mne jen záležitostí regulárních výrazů. Yahoo má třeba pro přístup k výsledkům své vlastní API. Nedávno jsem ho zkoumal a není až tak složité.

  9. Můžu vědět, proč nepoužívat google?A nevíš, kde bych mohl najít popis jejich API funkcí?

  10. Já to radši kontroluju pomocí Yahoo, protože jak známo, Google nezobrazuje všechny backlinky.

    Zprasil jsem si na to takovouhle funkci:

    PHP kód:

    // vstup: adresa konkrétní stránky
    // výstup: počet zpětných odkazů (většinou)

    function backlinks($url) {

      
    $prohlizec 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';
      
    $dotaz 'http://siteexplorer.search.yahoo.com/advsearch?p='.$url.'&bwm=i&bwmo=d&bwmf=s';

      
    $spojeni curl_init();
      
    curl_setopt ($spojeniCURLOPT_URL$dotaz);
      
    curl_setopt ($spojeniCURLOPT_USERAGENT$prohlizec);
      
    curl_setopt ($spojeniCURLOPT_RETURNTRANSFERtrue);
      
    $vysledek curl_exec ($spojeni);
      
    curl_close ($spojeni);
      
      if (!
    strpos($vysledek'No inlinks found')) {
        
    $zacatek strpos($vysledek'Inlinks (') + 9;
        
    $konec strpos($vysledek')'$zacatek);
        
    $delka $konec $zacatek;
        
    $vysledek trim(substr($vysledek$zacatek$delka));
        return 
    str_replace(','''$vysledek);
        }
      else return 
    0;
      } 
    Edit: Doprkýnka, asi píšu pomalu, protože mě vždycky předběhnete.

    Ta funkce pochází z doby, kdy ještě API nebylo a vůbec mě nenapadlo to nějak předělávat. Ale určitě bude jednodušší (a spolehlivější), vytahovat ten údaj odsud:
    Kód:
    http://api.search.yahoo.com/SiteExplorerService/V1/inlinkData?appid=YahooDemo&query=www.example.com&results=1
    Naposledy upravil tracy : 10.06.2007 v 19:13

  11. Přičemž je dobré mít na paměti, že Yahoo API vrací jen prvních 1000 zpětných odkazů.

  12. Entik: Google není vhodné, protože má k ukazování backlinků velmi specifický přístup.
    Tracy: Super skript, použiju ho také, díky:-) Nemáš něco i na Jyxo?

  13. Entik: Tady máš link - dole je funkční příklad toho, jak si přes yahoo api můžeš k sobě stahovat url se zpětnými odkazy. Stací zkopírovat k sobě a přepsat adresu a hned to funguje. Ale přesně jak říká Retal - nepustí tě to přes 1000 záznamů.

  14. Citace Původně odeslal Dan Zobrazit příspěvek
    Nemáš něco i na Jyxo?
    To samé v bleděmodrém:
    PHP kód:
    function jyxo($url) {

      
    $prohlizec 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';
      
    $dotaz 'http://jyxo.cz/s?q=link%3A'.$url.'&d=cz';

      
    $spojeni curl_init();
      
    curl_setopt ($spojeniCURLOPT_URL$dotaz);
      
    curl_setopt ($spojeniCURLOPT_USERAGENT$prohlizec);
      
    curl_setopt ($spojeniCURLOPT_RETURNTRANSFERtrue);
      
    $vysledek curl_exec ($spojeni);
      
    curl_close ($spojeni);
      
      
    $zacatek strpos($vysledek'Jyxo nalezlo <b>') + 16;
      
    $konec strpos($vysledek'</b>'$zacatek);
      
    $delka $konec $zacatek;
      
    $vysledek trim(substr($vysledek$zacatek$delka));
      return 
    $vysledek;
      } 
    Asi by ještě bylo dobré spojení ukončit po x znacích, aby se zbytečně nenatahovala celá stránka...

  15. Citace Původně odeslal Dan Zobrazit příspěvek
    Entik: Tady máš link - dole je funkční příklad toho, jak si přes yahoo api můžeš k sobě stahovat url se zpětnými odkazy. Stací zkopírovat k sobě a přepsat adresu a hned to funguje. Ale přesně jak říká Retal - nepustí tě to přes 1000 záznamů.
    Jestli to chápu dobře, tento skript uložení výsledek do nějakého externího souboru? Zkoušel jsem ho na freehostingu a bohužel má vypnuto manipulaci se soubory.

  16. Výše rozepsaný skript z váší dílny jsem také zkoušel a nefungoval. Hodilo to prázdnou stránku. Obohatil jsem ho pouze o pevně stanovenou proměnou $url="seznam.cz". Kde dělám chybu? Omluvte mojí natvrdlost - jak jsem psal, nejsem v PHP moc zběhlý.

  17. Citace Původně odeslal tracy Zobrazit příspěvek
    To samé v bleděmodrém:
    PHP kód:
    function jyxo($url) {

      
    $prohlizec 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';
      
    $dotaz 'http://jyxo.cz/s?q=link%3A'.$url.'&d=cz';

      
    $spojeni curl_init();
      
    curl_setopt ($spojeniCURLOPT_URL$dotaz);
      
    curl_setopt ($spojeniCURLOPT_USERAGENT$prohlizec);
      
    curl_setopt ($spojeniCURLOPT_RETURNTRANSFERtrue);
      
    $vysledek curl_exec ($spojeni);
      
    curl_close ($spojeni);
      
      
    $zacatek strpos($vysledek'Jyxo nalezlo <b>') + 16;
      
    $konec strpos($vysledek'</b>'$zacatek);
      
    $delka $konec $zacatek;
      
    $vysledek trim(substr($vysledek$zacatek$delka));
      return 
    $vysledek;
      } 
    Asi by ještě bylo dobré spojení ukončit po x znacích, aby se zbytečně nenatahovala celá stránka...
    No ty jsi zlatý. A nemáš k tomu ještě skript, který by výsledky ukládal do db a generoval mi grafy? Protože přesně takovou myšlenku s tím mám, jen toho času není:-(

  18. Citace Původně odeslal Entik Zobrazit příspěvek
    Jestli to chápu dobře, tento skript uložení výsledek do nějakého externího souboru? Zkoušel jsem ho na freehostingu a bohužel má vypnuto manipulaci se soubory.
    Ne, nic do externího souboru neukládá. Jen vypíše výsledky. Zkoušel jsem ho na localhostu (winXP, PHP5, Apache2) a vše funguje.

  19. Citace Původně odeslal Entik Zobrazit příspěvek
    Výše rozepsaný skript z váší dílny jsem také zkoušel a nefungoval. Hodilo to prázdnou stránku...
    Skript nefungoval asi proto, že to není skript ale jenom funkce. Funkce se používají třeba takhle:

    PHP kód:
    function jyxo($url) {
      
    bla bla bla...
      }

    echo 
    jyxo('www.seznam.cz'); 
    PS: na Webtrhu si tykáme.

  20. Budu se muset pustit do řádnýho studia PHP :frown:

    PHP kód:
    <?php


    function jyxo($url) {

      
    $prohlizec 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';
      
    $dotaz 'http://jyxo.cz/s?q=link%3A'.$url.'&d=cz';

      
    $spojeni curl_init();
      
    curl_setopt ($spojeniCURLOPT_URL$dotaz);
      
    curl_setopt ($spojeniCURLOPT_USERAGENT$prohlizec);
      
    curl_setopt ($spojeniCURLOPT_RETURNTRANSFERtrue);
      
    $vysledek curl_exec ($spojeni);
      
    curl_close ($spojeni);
      
      
    $zacatek strpos($vysledek'Jyxo nalezlo <b>') + 16;
      
    $konec strpos($vysledek'</b>'$zacatek);
      
    $delka $konec $zacatek;
      
    $vysledek trim(substr($vysledek$zacatek$delka));
      return 
    $vysledek;
      } 

    echo 
    jyxo('www.seznam.cz');

    ?>
    A hází to stále chybu
    Fatal error: Call to undefined function: curl_init() in /3w/wz.cz/e/entik/test.php on line 9

  21. To znamená, že voláš funkci, která na tvém hostingu není zapnutá. A tuším, že na wz.cz už zakázali i fopen pro vzdálené soubory, takže je mi líto...

  22. Takže ale takovéto finální kódové spracování je jinak správně. Ok, zkusím jinný hosting, uvidíme...Jinak díky za skript! :thumbup:

    Jinak tedy nevíte o nějakém hostingu, který tyto funkce povoluje?:)

  23. Na Webzdarma je sice fopen standardně zakázán, ale dá se povolit úpravou souboru .htaccess. Návod na zporvoznění.

Podobná témata

  1. Založení společnosti v Chorvatsku
    By Kamil in forum Podnikání
    Odpovědí: 7
    Poslední příspěvek: 07.08.2007, 17:08
  2. založení společnosti v EU
    By Adam in forum Podnikání
    Odpovědí: 20
    Poslední příspěvek: 26.07.2007, 09:06
Hostujeme u Server powered by TELE3