Pergunta

Ao executar o seguinte bloco de código:

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

O script falha com o seguinte erro:

fopen (test.html) [Function.fopen]: failed to open transmitir: limite de redirecionamento alcançado, abortando em /data/www/example.com/public/test.php na linha 843

O que causa esse erro e como posso corrigi-lo?

Foi útil?

Solução

Onde estão os arquivos localizados você está tentando abrir? Eles estão no sistema de arquivos local ou você está tentando acessá-los via HTTP (S)?

Se você estiver usando algum invólucro protocolo de rede, em seguida, este erro é mais provável conectado com muitos (HTTP - no caso do protocolo HTTP (S)) redirecionamentos no caminho do seu script para o arquivo que deseja abrir . A limite de redirecionamento padrão deve ser de 20 . Como 20 redirecionamentos são bastante alot poderia haver algum erro no próprio nome do arquivo (por exemplo, fazendo com que o servidor web do outro lado para fazer algumas spellcheck redirecionamentos) ou outro servidor está configurado incorretamente ou há algumas medidas de segurança no local ou ...

Se você sentir a necessidade de alargar as 20 redirecionamentos você poderia usar um contexto de fluxo.

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

Por favor, veja:

Outras dicas

É muito provável devido ao arquivo que você está tentando abrir está a tentar abrir outro arquivo e desta forma atingir o limite de redirecionamento.

Edit:. Quando digo provavelmente, quero dizer que pode causar o erro e isso pode ser que situação

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top