Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проверить массив на пустоту

Сообщения:  [1-9] 

 
 автор: Slo_Nik   (09.03.2012 в 19:14)   письмо автору
 
   для: OLi   (09.03.2012 в 17:17)
 

попробуйте реализовать проверку на основе констант или чисел для $_FILES['file']['error'].
Я делал подобную проверку и вроде получилось не плохо, можно для каждого файла выводить информационное сообщение...
За основу я брал функцию с сайта irbis-team.com

  Ответить  
 
 автор: OLi   (09.03.2012 в 17:17)   письмо автору
 
   для: OLi   (09.03.2012 в 17:04)
 

Или так лучше.
function check_emp() {
for ($i=0; $i<count($_FILES['images']['name']); $i++)  
{

if(count($_FILES["images"]["error"][$i]))>0 { return 1; } else {return 0;}
}


}

  Ответить  
 
 автор: OLi   (09.03.2012 в 17:04)   письмо автору
 
   для: OLi   (09.03.2012 в 17:00)
 

Вот такую проверку?

function check_emp() {

foreach ($_FILES as $key)

if (empty($key['names'])) {return 1; } else {return 0;}

}

  Ответить  
 
 автор: cheops   (09.03.2012 в 17:04)   письмо автору
 
   для: OLi   (09.03.2012 в 17:00)
 

Ну хотя бы за ради элемента [error] = 4, сообщающего, что файл не загружен.

  Ответить  
 
 автор: OLi   (09.03.2012 в 17:00)   письмо автору
 
   для: cheops   (09.03.2012 в 16:59)
 

Но в input type='file' ничего я не гружу - что его наполняет?

  Ответить  
 
 автор: cheops   (09.03.2012 в 16:59)   письмо автору
 
   для: OLi   (09.03.2012 в 16:52)
 

Ну какой же он пустой, если в нем полно элементов с массивами, в частности в $_FILES есть один элемент [images]... Лучше всего вам для массива $_FILES реализовать свою собственную функцию, которая будет в цикле обходить все его элементы и проверять чему равен ['names'] и ['names'][0] и уже на основании этой выборки делать выводы.

  Ответить  
 
 автор: OLi   (09.03.2012 в 16:52)   письмо автору
 
   для: cheops   (09.03.2012 в 16:49)
 

Array
(
    [images] => Array
        (
            [name] => Array
                (
                    [0] => 
                )

            [type] => Array
                (
                    [0] => 
                )

            [tmp_name] => Array
                (
                    [0] => 
                )

            [error] => Array
                (
                    [0] => 4
                )

            [size] => Array
                (
                    [0] => 0
                )

        )

)

  Ответить  
 
 автор: cheops   (09.03.2012 в 16:49)   письмо автору
 
   для: OLi   (09.03.2012 в 16:44)
 

Не должен быть возвращать 1, если массив действительно пустой, а $_FILES точно пустой? Что выдает следующий скрипт
<?php
  
echo "<pre>";
  
print_r($_FILES);
  echo 
"</pre>";
?>

  Ответить  
 
 автор: OLi   (09.03.2012 в 16:44)   письмо автору
 
 

Не могу понять, почему count($_FILES) возвращает 1 если в массиве пусто?
Как проверить на пустоту?

  Ответить  

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования