Question

Lors de l'exécution du bloc de code suivant:

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

Le script échoue avec l'erreur suivante:

  

fopen (test.html)   [Function.fopen]: failed to open   flux: limite de redirection atteint,   dans l'abandon   /data/www/example.com/public/test.php   sur la ligne 843

Quelles sont les causes de cette erreur et comment puis-je corriger?

Était-ce utile?

La solution

Où sont les fichiers situés vous essayez d'ouvrir? Sont-ils sur le système de fichiers local ou essayez-vous d'y accéder via HTTP (S)?

Si vous utilisez une enveloppe de protocole réseau alors, cette erreur est très probablement liée à un trop grand nombre (HTTP - dans le cas du protocole HTTP (S)) réoriente sur le chemin de votre script dans le fichier que vous souhaitez ouvrir . limite de redirection par défaut devrait être de 20 . 20 réoriente sont tout à fait beaucoup il pourrait y avoir une erreur dans le nom du fichier lui-même (par exemple, à l'origine le serveur Web à l'autre bout de faire quelques SpellCheck-réoriente) ou l'autre serveur est mal configuré ou il y a des mesures de sécurité en place ou ...

Si vous vous sentez la nécessité d'étendre les 20 vous réoriente pouvez utiliser un contexte de flux.

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

S'il vous plaît voir:

Autres conseils

Il est très probablement dû au fichier que vous essayez d'ouvrir est d'essayer d'ouvrir un autre fichier et d'atteindre thusly la limite de redirection.

Edit:. Quand je dis probablement, je veux dire que peut provoquer l'erreur et cela peut être la situation

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top