Intereting Posts
Как отправить электронное письмо с помощью PHP? Как отправлять письма через php-скрипт? Ошибка MySQL: «Количество столбцов не соответствует количеству значений в строке 1» – помощь для начинающих тест, если ввод формы – это целое число 1 или 2 цифры с jquery и php Система голосования AJAX + PHP SQL-инъекция | Изменение значений идентификатора Создание тега по умолчанию из пустого значения генерируется, когда тег отсутствует. Как разрешить? mysql_fetch_array while loop. Как это работает? Плагин WordPress – вызов неопределенной функции finfo_open () Показать $ _FILES после отправки формы Шаблон для проверки одиночной окклюзии в preg_match_all Получите ошибку «неверный-отправитель» в Mandrill при попытке отправить шаблон PHP, как импортировать все классы из другого пространства имен PHP Вызов метода экземпляра с помощью call_user_func в том же классе Как получить список всех кешированных элементов по ключу в Laravel 5?

PHP fopen () Предел перенаправления достигнут

При выполнении следующего блока кода:

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

Сбой сценария со следующей ошибкой:

fopen (test.html) [function.fopen]: не удалось открыть поток: достигнут предел перенаправления, прерван в /data/www/example.com/public/test.php в строке 843

Что вызывает эту ошибку и как ее можно исправить?

Где находятся файлы, которые вы пытаетесь открыть? Являются ли они в локальной файловой системе или вы пытаетесь получить к ним доступ через HTTP (S)?

Если вы используете оболочку сетевого протокола, то эта ошибка, скорее всего, связана со слишком многими (HTTP – в случае протокола HTTP (S)) перенаправляет на пути от вашего сценария к файлу, который вы хотите открыть. Предел перенаправления по умолчанию должен быть 20 . Поскольку 20 перенаправлений довольно много, может быть некоторая ошибка в самом имени файла (в результате, например, веб-сервер на другом конце, чтобы выполнить некоторые перенаправления проверки орфографии), или другой сервер неправильно сконфигурирован или есть некоторые меры безопасности на месте или …

Если вы чувствуете необходимость продлить 20 перенаправлений, вы можете использовать контекст потока.

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

Пожалуйста, посмотри:

  • Streams
  • stream_context_create()
  • Параметры контекста HTTP

Это очень вероятно из-за файла, который вы пытаетесь открыть, пытается открыть ДРУГОЙ файл и, таким образом, достичь предела перенаправления.

Edit: Когда я говорю, вероятно, я имею в виду, что это может вызвать ошибку, и это может быть такая ситуация.