Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ajax/php] Sprawdzanie poprawności linku
Forum PHP.pl > Forum > Przedszkole
mrjozo
Chciałby sprawdzić za pomocą advAJAX, czy link jest poprawny

cos takeigo zawsze daje "connetion timed out"
Kod
    advAJAX.head({
    url: "wp.pl",
    timeout : 4000,
    onTimeout : function() { alert("Connection timed out."); },
    retry: 1,
    onRetry : function() { alert("Retry connection..."); },
    onRetryDelay : function() { alert("Awaiting retry..."); },
    onSuccess : function(obj) { alert("ok" + obj.status); },
    onError : function(obj) { alert("Error: " + obj.status); }
});


a takie coś: (zawsze daje "ok" i status 200, nawet gdy strona nie istnieje)

Kod
    advAJAX.get({
    url: "stronaaaaaaaaa.pl",
    timeout : 4000,
    onTimeout : function() { alert("Connection timed out."); },
    retry: 1,
    onRetry : function() { alert("Retry connection..."); },
    onRetryDelay : function() { alert("Awaiting retry..."); },
    onSuccess : function(obj) { alert("ok" + obj.status); },
    onError : function(obj) { alert("Error: " + obj.status); }
});


można sprawdzić link bezpośrednio przy pomocy advAJAX? czy muszę skorzystać z ajaxa bez advAJAX
legorek
AJAX pozwala tylko na zapytania do domeny na której znajduje się skrypt.
mrjozo
Dzięki za info:)

to teraz mam inny problem, mam dwa skrypty php do sprawdzania czy link istnieje, ale obydwa wykonują się w ok. 5 sek to troche długo :/

pierwsza to prosty fopen:

  1. <?php
  2. if($link)
  3. {
  4. $file = @fopen ("$link", "r");
  5.  
  6. }
  7. if($file)
  8. {  echo "jest" ;
  9. fclose($file);
  10. } else {
  11. echo "nie ma";
  12.  
  13.  
  14. }
  15. ?>

druga: (zwraca mi tablice z kilkoma informacjami)

  1. <?php
  2. $main = array();
  3. $ch = curl_init();
  4. curl_setopt ($ch, CURLOPT_URL, $url);
  5. curl_setopt ($ch, CURLOPT_HEADER, 1);
  6. curl_setopt ($ch, CURLOPT_NOBODY, 1);
  7. curl_setopt ($ch, CURLOPT_NETRC, 1);
  8. curl_setopt ($ch, CURLOPT_TIMEOUT, 10);
  9. curl_exec ($ch);
  10. $stuff = ob_get_contents();
  11. curl_close ($ch);
  12. $parts = split("n",$stuff,2);
  13. $main = split(" ",$parts[0],3);
  14. return $main;
  15. ?>


czy jest jakiś inny sposób, żeby wykonywało się to szybciej?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.