Jump to content
Sign in to follow this  
heinzel

Alternative zu fopen!

Recommended Posts

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
}

Share this post


Link to post
Share on other sites

ä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?

Share this post


Link to post
Share on other sites
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.


So stehts im Manual.

Share this post


Link to post
Share on other sites

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 ( 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!

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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:

Hier der Code

Share this post


Link to post
Share on other sites
Guest

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 Beispiel.

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...