Следующее описание взято из этой страницы :
Метод getElementsByClassName () возвращает коллекцию всех элементов в документе с указанным именем класса, так как объект NodeList.
Объект NodeList представляет собой набор узлов. К узлам можно обращаться по номерам индексов. Индекс начинается с 0.
Совет. Вы можете использовать свойство length объекта NodeList для определения количества элементов с указанным именем класса, затем вы можете прокручивать все элементы и извлекать нужную информацию .
blockquote>Итак, поскольку параметр
getElementsByClassName
принимает имя класса.Если это ваше тело HTML:
то
var menuItems = document.getElementsByClassName('menuItem')
вернет коллекцию (а не массив) из трех верхних
s, поскольку они соответствуют заданному имени класса.Затем вы можете перебирать эти узлы (
s в этот случай) с помощью:for (var menuItemIndex = 0 ; menuItems.length ; menuItemIndex ++) { var currentMenuItem = menuItems[menuItemIndex]; // do stuff with currentMenuItem as a node. }
Подробнее о различиях между элементами и узлами см. в этой записи .
33задан hakre 22 June 2012 в 23:27поделиться
Как отмечено в отредактированном вопросе $ _POST и $ _FILES пусты, когда PHP бесшумно удаляет данные (происходит, когда фактические данные больше, чем post_max_size). Поскольку HTTP-заголовок и $ _GET остаются неповрежденными, они могут быть использованы для обнаружения сбросов.
Параметр a)
if(intval($_SERVER['CONTENT_LENGTH'])>0 && count($_POST)===0){
throw new Exception('PHP discarded POST data because of request exceeding post_max_size.');
}
Параметр b) Добавить параметр GET, который сообщает, присутствует. [/ д2]
Запустите phpinfo()
и убедитесь, что ваши upload_max_filesize
и post_max_size
директивы достаточно велики.
http://us.php.net/manual/en/ini.core.php#ini.upload-max-filesize
$_POST
пуст. Если произошла ошибка с размером файла, вы ожидаете сообщение об ошибке, а не пустое $_POST
.
– brentonstrine
10 June 2014 в 23:30
post_max_size
. Это, в свою очередь (чтение OP), делает $_POST
и $_FILES
пустым.
– Crontab
11 June 2014 в 14:51
$_POST
пуст, потому что он превысил максимальную. Я поддержал его и проиграл ваши, чтобы его ответ был первым, так как он более полезен. Комментарий был просто предназначен как объяснение для downvote. Тем не менее я поддерживаю нижний уровень: критическая часть информации почему i> $_POST
будет пустой.
– brentonstrine
11 June 2014 в 17:05
Вы можете проверить ошибки при загрузке с помощью:
if ($_FILES['images']['error'] !== UPLOAD_ERR_OK) {
die("Upload failed with error code " . $_FILES['images']['error']);
}
Коды ошибок определены здесь здесь .
$_FILES
пуст. Не удается проверить, чего не существует.
– mpen
30 January 2013 в 22:36
я могу упомянуть, что если вы обрабатываете форму, как показано ниже
if(isset($_POST['submit'])
, если post_max_size ниже опубликованных данных, тогда $ _POST ['submit'] будет пустым
Есть некоторые ограничения - как на стороне клиента, так и на стороне сервера.
На стороне клиента поле MAX_FILE_SIZE не имеет большого значения, возможно, браузер может воспринимать его как подсказку; но браузеры следуют своим настроенным ограничениям.
На стороне сервера проверьте php.ini для:
upload_max_filesize = 5M
post_max_size = 5M
max_input_time = ...
Также проверьте журнал Apache для заметок о потерянном тесте POST или таком.