Domanda

Quando si esegue il seguente blocco di codice:

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])."')");
    }
}

Lo script non riesce con il seguente errore:

  

fopen (test.html)   [Function.fopen]: failed to open   stream: limite di reindirizzamento raggiunto,   abortire in   /data/www/example.com/public/test.php   on line 843

Quali sono le cause di questo errore e come posso correggerlo?

È stato utile?

Soluzione

Dove sono i file che si trovano che si sta tentando di aprire? Sono sul filesystem locale o stai cercando di accedervi tramite HTTP (S)?

Se stai usando un po 'di involucro protocollo di rete, allora, questo errore è più probabile collegata con troppi (HTTP - nel caso del protocollo HTTP (S)) reindirizza sulla strada che dallo script per il file che si desidera aprire . Il href="http://de3.php.net/manual/en/context.http.php" rel="nofollow noreferrer"> limite di reindirizzamento . Come 20 redirect sono un bel po 'ci potrebbe essere qualche errore nel nome del file stesso (causando ad esempio il server web su l'altra estremità a fare un po' il controllo ortografico-redirect), o l'altro server è configurato correttamente o ci sono alcune misure di sicurezza in atto o ...

Se si sente la necessità di estendere l'20 reindirizza si potrebbe usare un contesto flusso.

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

Si veda:

Altri suggerimenti

E 'molto probabile che a causa del file che si sta tentando di aprire sta cercando di aprire un altro file e questa convenzione è raggiunto il limite di reindirizzamento.

Modifica:. Quando dico probabilmente, voglio dire che possono causare l'errore e questo può essere quella situazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top