загрузка больших GIF-файлов с помощью Kusaba

#php

#php

Вопрос:

Это происходит не всегда. Иногда я мог загружать один и тот же GIF-файл и иногда получать обратно эту ошибку, она кажется почти случайной.

 Warning: Invalid argument supplied for foreach() in /webroot/i/n/*001/*.org/www/inc/classes/board-post.class.php on line 81
Warning: Cannot modify header information - headers already sent by (output started at /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php:81) in /webroot/i/n/*/*.org/www/board.php on line 343
Warning: Cannot modify header information - headers already sent by (output started at /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php:81) in /webroot/i/n/*/*.org/www/board.php on line 347
Warning: Cannot modify header information - headers already sent by (output started at /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php:81) in /webroot/i/n/*/*.org/www/board.php on line 350
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/func/posts.php on line 249
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php on line 136
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php on line 163
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/func/fetching.php on line 27
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php on line 343
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php on line 443
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/func/fetching.php on line 27
Warning: Cannot modify header information - headers already sent by (output started at /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php:81) in /webroot/i/n/*/*.org/www/inc/func/misc.php on line 76
  

Ответ №1:

Где-то вы используете переменную, которая не является массивом в foreach инструкции, например:

 $foo = 123;
foreach ($foo as $bar)
  

Это выдает Invalid argument supplied for foreach() предупреждение. Лучше проверяйте свои переменные, чтобы убедиться, что они являются массивами, когда они ожидаемы.

Тот факт, что это предупреждение было выдано, и выходные данные блокируют отправку заголовков, что вызывает другое Cannot modify header information предупреждение.

Комментарии:

1. Это строки с 80 по 84 первой ошибки. foreach ($results[0] как $key=>$line) { if (!is_numeric($key)) { $this->board[$key] = $line; } }

2. @Tom Это означает, что $results[0] это не массив.

Ответ №2:

Если вы хотите циклически просматривать $results массив, вам следует написать

foreach ($results as $key=>$value)

вместо

foreach ($results[0] as $key=>$value)

если $results[0] сам по себе не является массивом, в этом случае $results это была бы матрица (массив массивов).