Neuigkeiten:

still alive...

Hauptmenü

Alternative zu fopen!

Begonnen von heinzel, 02. Januar 2006, 12:39:26

Vorheriges Thema - Nächstes Thema

heinzel

Moin,
ich überprüfe zurzeit mit fopen ob Dateien auf einen anderern Server vorhanden sind!Diese Methode ist aber nicht 100% genau,da es öfters zu Fehlermeldungen kommt obwohl die Datei(en) vorhanden sind.
Und nun zu meiner Frage:
Gibt es andere methoden um zu überprüfen ob Dateien auf einen anderen Server sind? - oder - kann man da mit fopen was rausholen?
Mein jetziger code:


$dl = file(\"array/$download.txt\");
$daten = file(\"include/downloadseite.txt\");
include(\"include/header.txt\");
$url = $dl[9];
$url = str_replace(\"\\n\",\" \",$url);
$url = trim($url);
@$file = fopen (\"$url\", \"r\");
if ($file) {
//htmlcode
}
else
{
//Fehlercode
}
http://www.die-downloadmaster.de\" rel=\"external nofollow\">Kostenloser Download  | http://www.alternativer-linktausch.de\" rel=\"external nofollow\">Linktausch[im Aufbau]

raiser

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


heinzel

ähm korrigiere mich wenn ich falsch liege,aber kann man mit file exists nich nur daten auf seeinen eigenen server \"prüfen\" und nich auf anderen?
http://www.die-downloadmaster.de\" rel=\"external nofollow\">Kostenloser Download  | http://www.alternativer-linktausch.de\" rel=\"external nofollow\">Linktausch[im Aufbau]

Powie

Tip: As of PHP 5.0.0 this function can also be used with some URL wrappers. Refer to Appendix L for a listing of which wrappers support stat() family of functionality.[/quote]
So stehts im Manual.

heinzel

ja ab php 5 mit paar zusatzfunktionen...
ich benutze aber noch zzgl 4 da  ich noch keine zeit und Lust hatte meinen Server upzugraden.
wobei hier http://de.php.net/file_exists\" rel=\"external nofollow\">http://de.php.net/file_exists ( wo ich gerad erstmal geguckt hab) auch steht:
\"Anmerkung: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.
\"
ich suche im enddefekt ja nur eine sichere methode da mein downloadarchiv im schnitt 20Fehler von nicht vorhandenen dateien in der woche auspuckt obwohl davon an die 17Vorhanden sind.
Was sich Negativ auf die User auswirkt da die dann auf eine Fehlerseite geleitet werden!
http://www.die-downloadmaster.de\" rel=\"external nofollow\">Kostenloser Download  | http://www.alternativer-linktausch.de\" rel=\"external nofollow\">Linktausch[im Aufbau]

milindur

Wie wäre es denn, wenn Du eine Schleife drum machst und erst den Fehler ausgibst, wenn (sagen wir mal) 5 Versuche fehlerhaft waren?

heinzel

gut die idee wär zwar gut aber wie sollte ich das realisieren,
mit schleifen kenn ich mich zwar aus,
aber ich kann doch nich 5mal das durchlaufen lassen ->
@$file = fopen (\"$url\", \"r\");
if ($file) {
//htmlcode
}
 
klär mich bitte auf wenn ich was falsch verstanden hab,
denn sowas ohne fehlermeldung hab ich bis jetzt noch nie gemacht!
http://www.die-downloadmaster.de\" rel=\"external nofollow\">Kostenloser Download  | http://www.alternativer-linktausch.de\" rel=\"external nofollow\">Linktausch[im Aufbau]

raiser


 html download....
else //-> Fehler!
?>

 
 /uploads/emoticons/icon_e_wink.gif.3167d127940f44558fbf1ccd9b6d60a9.gif\" alt=\";-)\" />

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


heinzel

also ich hab den code mal mit deinen verbunden!
$url = $dl[9];
$url = str_replace(\"\\n\",\" \",$url);
for($i=0;$i<5;$i++){
    $fp=@fopen(\'$url\',\'r\');
    if($fp)    $helper=TRUE;
    @fclose($fp);
}
if($helper) {
 
aber da kommen nur fehlerhafte seiten bei raus...
http://www.die-downloadmaster.de\" rel=\"external nofollow\">Kostenloser Download  | http://www.alternativer-linktausch.de\" rel=\"external nofollow\">Linktausch[im Aufbau]

raiser

ich weis ja nicht was dein fehler ist
also vom code her seh ich keinen....
dir for sollte, so wie ich sie dir gegeben habe funzen
velleicht mal bissel mehr code posten, damit man mal was sieht....
wird der fehler in der if sein....dann ist irgend was anderes(die uir) nicht die richtige sein
gruß raiserle

Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)




Irren ist menschlich!




Wer andern eine Grube gräbt,


sollte darüber nachdenken,


ob sie tief genug ist!!!!




Kameradschaft ist, wenn der


Kamerad schafft !!!!


heinzel

die \"urls\" müssen gehn,hab das ja mit der alten datei getestet und mit der neuen....(also mit der for schleife)
naja da das forum immer irgendwas hat von wegen wörterm it 100zeichen....
hab ich dir mal den code hier hinterlegt:
http://www.die-downloadmaster.de/code.txt\" rel=\"external nofollow\">Hier der Code
http://www.die-downloadmaster.de\" rel=\"external nofollow\">Kostenloser Download  | http://www.alternativer-linktausch.de\" rel=\"external nofollow\">Linktausch[im Aufbau]

Mit fopen() zu überprüfen, ob eine Datei existiert ist einfach schlecht, weil man an ein vordefiniertes Timeout gebunden ist und fopen() nur darauf eingeht, ob die betreffende Datei erreichbar ist (man denke an 403 - Forbidden).
Im PHP Manual findest du auch ein http://www.php.net/fsockopen\" rel=\"external nofollow\">Beispiel.

all your base are belong to us / Discord