kostenloser Webspace werbefrei: lima-city


file_exists() Remote

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    vampiresilence

    Kostenloser Webspace von vampiresilence

    vampiresilence hat kostenlosen Webspace.

    Also der Titel ist Programm. Ich versuche zu prüfen, ob sich auf meinem eigenen Lima-Downloadserver eine Datei befindet, bzw. ob diese existiert. File_Exists() funktioniert hier aber nicht, obwohl es sich ya um meinen Ordner handelt. Wie kann ich trotzdem prüfen, ob da eine Datei vorhanden ist ?

    Liebe Grüße
    - VampireSilence
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Spontan würde mir da nur eine Abfrage der HTTP-Header einfallen. Und wenn der Code 404 ist existiert sie nicht, wenn er 200 ist, dann existiert sie.
  4. Autor dieses Themas

    vampiresilence

    Kostenloser Webspace von vampiresilence

    vampiresilence hat kostenlosen Webspace.

    Klingt vielversprechend. Wüsste aber ehrlich gesagt nicht, wie ich das anstellen sollte. Hast du da evtl nen konkreten Code für ?

    Liebe Grüße
    - VampireSilence
  5. Ave!
    Versuchs mal damit:

    function file_exists_remote($url)
    { 
      $url_parts = parse_url($url); 
      if (!$fp = @fsockopen ($url_parts['host'], isset($url_parts['port']) ? $url_parts['port'] : 80)) 
         return FALSE; 
      $request = 'HEAD '. 
        (isset($url_parts['path']) ? $url_parts['path'] : '/'). 
        (isset($url_parts['query']) ? '?'.$url_parts['query'] : ''). 
        ' HTTP/1.1'."\r\n". 
        'Host: '.$url_parts['host']."\r\n\r\n"; 
      fputs ($fp, $request); 
      stream_set_timeout($fp, 5); 
      $status = explode(' ', fgets($fp,128), 2); 
      fclose($fp); 
      return (isset($status[1]) ? $status[1] : FALSE); 
    }


    Ist jetzt komplexer als du wolltest, aber naja was man hat, hat man :)

    lg

    Beitrag zuletzt geändert: 5.5.2009 22:13:53 von zenks
  6. <?php
    $url = 'xyz.tld';
    if (get_headers($url)[0] == HTTP/1.1 200 OK) {
    //existiert
    }
    else {
    //existiert nicht
    };
    ?>


    Müsste gehen!

    @zenks: fsockopen geht denk ich bei lima nicht!

    Beitrag zuletzt geändert: 5.5.2009 22:15:05 von cookies
  7. cookies schrieb:
    get_headers($url)[0]


    Soweit ich weiß geht das nicht... Arrayklammern direkt hinter der Funktion, musst glaub ich erst in einer Variable zwischenspeichern.
    Außerdem sendet glaube ich nicht jeder Server HTTP/1.1

    lg

    Beitrag zuletzt geändert: 5.5.2009 22:16:57 von zenks
  8. Weiß ich auch nicht so genau, muss man mal probieren. Sonst halt:

    <?php
    $url = 'xyz.tld';
    $headers = get_headers($url);
    if ($headers[0] == HTTP/1.1 200 OK) {
    //existiert
    }
    else {
    //existiert nicht
    };
    ?>
  9. Autor dieses Themas

    vampiresilence

    Kostenloser Webspace von vampiresilence

    vampiresilence hat kostenlosen Webspace.

    cookies schrieb:
    Außerdem sendet glaube ich nicht jeder Server HTTP/1.1


    Also das braucht wirklich kein bisschen flexibel sein, dass muss nur dem Lima-HTTP entsprechen. Werd dann eure Codes einfach mal testen, vllt klappts ya.

    Liebe Grüße
    - VampireSilence
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!