php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.09.2005, 16:43  
Gast
 
Beiträge: n/a
Standard Prüfen ob URL existiert

Hallo,
wie prüfe ich ob eine URL existiert?

Das naheliegendste wäre fopen, aber da wird die Datei gleich heruntergeladen und wenn das eine 5MB mp3 is und ich da zwanzig aufliste (weil ich eine, wenn sie nicht mehr erreichbar is weglassen will) lädt der da 100MB runter! (dieses Minenfeld hab ich erkannt bevor ich drüber gelaufen bin).

Hab in mehreren Google-Ergebnissen nun gelesen, man soll dem Server einen HTTP Header schicken, und dann die Antwort analysieren. Wie mach ich das am effektivsten? Die Antwort "fsockopen" bringt mir nicht viel, da in der Doku dort nichts Näheres über HTTP Header steht und die Beispiele in den Kommentaren mir zu kompliziert sind.

Da musses doch sowas simples wie einen einfachen "Ping" geben oder?

mfg
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.09.2005, 17:49  
XLB
Erfahrener Benutzer
 
Registriert seit: 31.07.2005
Beiträge: 1.126
PHP-Kenntnisse:
Fortgeschritten
XLB
Standard

Zitat:
aber da wird die Datei gleich heruntergeladen ...
Mal einen Blick in die Doku geworfen ?

Zitat:
fopen() bindet eine benannte Resource, welche mittels filename spezifiziert wurde, an einen Stream.
kein Download

So könntest du's machen :

PHP-Code:
<?php

$handle
=@fopen("http://www.php.net/","r");

if (
$handle)
{
    echo 
'existent';
        
fclose($handle);
}
else
{
    echo 
'net do!';
}

?>
Wenn du "ping" verwenden möchtest geht auch das : Doku
Siehe dort auch, warum "ping" sinniger ist, als fopen() ...
XLB ist offline  
Alt 25.09.2005, 19:19  
Gast
 
Beiträge: n/a
Standard

Hab bisher auch nur gedacht, das die fopen inene Stream öffnet, aber ich hab nun in diversen Foren gelesen das die Leute meinen da Dateien runterzuladen. Das haut mich ausm Konzept.

Das mit den PEAR Klassen hab ich auch gefunden, ist nicht brauchbar, da ich nicht vorhersehen kann ob auf den Servern auf denen das Skript läuft PEAR & Co installiert sind - was in den Meisten Fällen auch nicht der Fall ist, was du in solch einem Anfängerforum das nächste Mal lieber dazusagen solltest und es das Paket ziemlich aufbläst die Klassen mizuliefern.

Meine Frage, welchen HTTP HEADER ich senden muss, bzw wie ich den auswerte, bleibt unbeantwortet.

das muss doch einfach mit einem HTTP Header "Ping" und der header(); Funktion gehen. NUr wo find ich solch einen Header? Alle die ich auftreiben kann sind welche die auf den Inhalt der Datei eingehen.

Oder betrifft die Header-Funktion nur loakle Dateien am Server? Der Grund gegen fopen war eigentlich, wie ich jetzt nachgelesen hab, das es ziemlich lang braucht. Bei mir gehts ziemlich schnell, aber im Moment is ja auch kaum Auslastung am Server.
 
Alt 26.09.2005, 18:51  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Hm, nichtmal 2 Minuten in Google gesucht und das gefunden:
http://froemter.de/php/phpLinkCheck.phps
Chr!s ist offline  
Alt 06.10.2005, 13:59  
Gast
 
Beiträge: n/a
Standard

hmm also bei mir geht das NICHT

Zitat:

<?php

$handle=@fopen("http://www.php.net/","r");

if ($handle)
{
echo 'existent';
fclose($handle);
}
else
{
echo 'net do!';
}

?>
wie kann ich dann schaun ob eine url vorhanden ist?
 
Alt 06.10.2005, 14:37  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

Zitat:
wie kann ich dann schaun ob eine url vorhanden ist?
mittels fsockopen! hast du eigentlich jemals ins manual geschaut?

öffne den socket, wenn das fehlschlägt, ist der ganze server nicht da. im erfolgsfalle holst du dir die page, aber nur den ersten teil (response-header) - eigentlich nur die erste zeile, denn dort steht die statusmeldung. steht dort etwas anders als 304/200, ist die seite nicht rerreichbar.

solltest du als response 301/302 erhalten, mußt du im header noch nach location suchen, und alles nochmal wiederholen.
__________________
derHund ist offline  
Alt 06.10.2005, 14:38  
Gast
 
Beiträge: n/a
Standard

phpfriend.de Foren-Übersicht -> PHP - Anfänger
Thread: Wichtig: Neu bei phpfriend.de? Interessante Links! PHP,MySQL,CSS,Scripte..
http://www.faq-phpfriend.de/ ( URL hat sich geändert Arrow passender Thread )
Codeschnipsel
Wie überprüfe ich Hyperlinks auf ihre Gültigkeit?
 
Alt 06.10.2005, 14:40  
Gast
 
Beiträge: n/a
Standard

hmm aber ich kenne den port ja gar nicht^^
 
Alt 06.10.2005, 14:40  
Gast
 
Beiträge: n/a
Standard

Dann ist es bestimmt 80
 
Alt 06.10.2005, 14:47  
Gast
 
Beiträge: n/a
Standard

ist es immer 80?


und ausser dem schnalle ich das nicht:
Zitat:
eigentlich nur die erste zeile, denn dort steht die statusmeldung. steht dort etwas anders als 304/200, ist die seite nicht rerreichbar.

solltest du als response 301/302 erhalten, mußt du im header noch nach location suchen, und alles nochmal wiederholen.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bei UPDATE erkennen, ob der Datensatz existiert? Anotherone Datenbanken 7 01.04.2008 14:49
Prüfen ob Verzeichnis auf dem FTP existiert mAy^daY Server, Hosting und Workstations 5 19.12.2006 02:40
[Erledigt] Datenbank anlegen wenn diese nicht existiert Datenbanken 7 16.02.2006 08:42
[Erledigt] [JS] Prüfen ob ein gewisses input-feld im body existiert HTML, Usability und Barrierefreiheit 3 05.10.2005 23:22
[Erledigt] Fehlermeldung weil .txt Datei nicht existiert PHP Tipps 2005-2 9 28.09.2005 19:57
Prüfen ob db oder tabelle existiert GELight PHP Tipps 2005-2 2 01.08.2005 23:34
pruefen, ob datei existiert? PHP Tipps 2005 3 13.03.2005 15:07
Tabelle existiert, if Abfrage Datenbanken 9 15.02.2005 14:00
Überprüfen ob Datenbank bereits existiert Connar PHP Tipps 2005 20 31.01.2005 15:54
existiert der ordner PHP Tipps 2004-2 5 14.12.2004 21:49
Kontlolle ob der Wert eines Datenfeldes schon existiert fender Datenbanken 21 16.11.2004 11:49
existiert das bild? me PHP Tipps 2004 2 06.10.2004 14:31
Datei existiert nicht??? PHP Tipps 2004 5 19.09.2004 15:21
Überprüfen ob ein Datensatz schon existiert? Paulo Datenbanken 3 02.09.2004 12:20
Prüfen ob entfernte Datei existiert PHP Tipps 2004 2 27.07.2004 17:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
wie überprüfe ich am effektivsten, ob eine datei existiert, php prüfe url auf ergebnis, javascript prüfen, ob seite existiert, mit fopen prüfen ob datei vorhaden ist, feststellen ob url existiert, js abfrage server rerreichbar, prüfen ob url existiert fopen, prüfen entfernte website erreichbar php, \php\ \überprüfen\, feof(): supplied argument is not a valid stream resource, php überprüfen ob url vorhanden

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.