Frage

Wenn Sie den folgenden Codeblock ausführen:

foreach($eventfiles as $eventfile)
{
    if($eventfile['filename'])
    { 
        $file = $eventfile['filepath'];
        // Open File
        if( !($fp = fopen($file, "r")))
        {
            echo '<br>CAN NOT READ FILE.';
            exit;
        }
        // Read data from the file into $data
        $data = "";
        while (!feof($fp)) $data .= fread($fp,1024);
        query("update event_rtab set html = '".escape($data)."' where id = {$eventfile[id]}");
    }
    if($eventfile['eventType']=='email')
    {
        query("INSERT INTO event_email_rtab (event_id,subject) values ($eventfile[id],'".escape($eventfile[email_subject])."')");
    }
}

Das Skript schlägt mit dem folgenden Fehler:

  

fopen (test.html)   [Function.fopen]: failed öffnen   Strom: Umleitungs Grenze erreicht,   Abbruch in   /data/www/example.com/public/test.php   on line 843

Was sind die Ursachen dieser Fehler und wie kann ich es beheben?

War es hilfreich?

Lösung

Wo befinden sich die Dateien Sie versuchen, zu öffnen? Sind sie auf dem lokalen Dateisystem oder versuchen Sie sie über HTTP zuzugreifen (S)?

Wenn Sie einige Netzwerk-Protokoll-Wrapper dann verwenden, dieser Fehler die meisten wird wahrscheinlich mit zu vielen verbunden (HTTP - bei der HTTP (S) Protokoll) leitet auf dem Weg von Ihrem Skript in die Datei, die Sie öffnen möchten . Die Standard Umleitung Limit sollte 20 sein. 20 Umleitungen sind dort ziemlich viel könnte ein Fehler im Dateinamen selbst sein (was zB den Webserver am anderen Ende ein paar Rechtschreibprüfung-Umleitungen zu tun) ist oder der andere Server falsch konfiguriert oder gibt es einige Sicherheitsmaßnahmen getroffen, oder ...

Wenn Sie das Bedürfnis verspüren, die 20 umleitet erweitern Sie einen Stream Kontext verwenden können.

$context = array(
    'http'=>array('max_redirects' => 99)
);
$context = stream_context_create($context);
// hand over the context to fopen()
$fp = fopen($file, 'r', false, $context);
// ...

Bitte beachten Sie:

Andere Tipps

Es ist sehr wahrscheinlich auf die Datei Sie versuchen zu öffnen versuchen, eine andere Datei zu öffnen und auf diese Weise die Grenze der Umleitung zu erreichen.

Edit:. Wenn ich wahrscheinlich sagen, meine ich, dass die Fehler verursachen kann, und dies kann die Situation sein

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top