Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: почему не работает конструкция

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
leshiy_SV
Отправлено: 12 Ноября, 2009 - 13:57:31
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




почему не работает конструкция
if (isset($_FILES['ImgFiles'])) {действия;}
или
if (!empty($_FILES['ImgFiles'])) {действия;}
типа если файлы загружены то делай одно, если нет по пропустить дейcтвие или можно как нибудь по другому это организовать

(Отредактировано автором: 12 Ноября, 2009 - 15:03:19)

 
 Top
Champion Супермодератор
Отправлено: 12 Ноября, 2009 - 14:50:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




может быть, потому, что не ImgFiles ?
 
 Top
leshiy_SV
Отправлено: 12 Ноября, 2009 - 14:59:18
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




Champion пишет:
может быть, потому, что не ImgFiles ?

нет все правильно файл загружается из этой формы
CODE (text):
скопировать код в буфер обмена
  1. <input type="file" name="ImgFiles[]" >

(Отредактировано автором: 12 Ноября, 2009 - 15:17:23)

 
 Top
Champion Супермодератор
Отправлено: 12 Ноября, 2009 - 15:22:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




а что написано <form вот тут> ?
И "не работает" - это что обозначает?
 
 Top
leshiy_SV
Отправлено: 12 Ноября, 2009 - 15:54:58
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




Champion пишет:
а что написано <form вот тут> ?

написано
CODE (text):
скопировать код в буфер обмена
  1. <form method="post" id="customForm" name="userForm" action="action.php" enctype=multipart/form-data>

Champion пишет:
И "не работает" - это что обозначает?
означает если файлы загружены (т.е массив $_FILES['ImgFiles'] не пустой, в этом же массиве храняться данные загружаемых файлов), то выполняются определенные действия.
В итоге если пишем (!empty($_FILES['ImgFiles']))т.е. массив не пустой, то блок действий выполняется все равно загружены файлы или нет, а если (empty($_FILES['ImgFiles'])) то вообще не выполняются никогда. Вот как то так. Не понял
 
 Top
Stierus Супермодератор
Отправлено: 12 Ноября, 2009 - 15:58:17
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




1. Что именно не работает
2. Что выдает код:
 
My status
 Top
JROUD
Отправлено: 12 Ноября, 2009 - 16:25:16
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




leshiy_SV, попробуйте:
if (isset($_FILES['ImgFiles'])) {действия;}
или
if ($_FILES['ImgFiles']!=NULL) {действия;}
 
 Top
Djin_dj
Отправлено: 12 Ноября, 2009 - 18:40:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Июнь 2008  
Откуда: Россия


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. if(isset($_FILES) && count($_FILES['ImgFiles']) > 0)
  2. {
  3. //действие
  4. }
 
 Top
Nestor
Отправлено: 12 Ноября, 2009 - 21:01:30
Post Id



Частый гость


Покинул форум
Сообщений всего: 220
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




<form method="post" id="customForm" name="userForm" action="action.php" enctype="multipart/form-data">

(Отредактировано автором: 12 Ноября, 2009 - 21:02:38)



-----
Aurus CMS
 
 Top
leshiy_SV
Отправлено: 13 Ноября, 2009 - 07:14:01
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




Stierus пишет:
1. Что именно не работает
2. Что выдает код:

вот что, когда загружаю два файла
CODE (text):
скопировать код в буфер обмена
  1. array (
  2.   'UserFile' =>
  3.   array (
  4.     'name' => '',
  5.     'type' => '',
  6.     'tmp_name' => '',
  7.     'error' => 4,
  8.     'size' => 0,
  9.   ),
  10.   'ImgFiles' =>
  11.   array (
  12.     'name' =>
  13.     array (
  14.       0 => 'happy_valentin_24.jpg',
  15.       1 => 'priroda24.jpg',
  16.     ),
  17.     'type' =>
  18.     array (
  19.       0 => 'image/jpeg',
  20.       1 => 'image/jpeg',
  21.     ),
  22.     'tmp_name' =>
  23.     array (
  24.       0 => 'C:\\temp\\uploadtemp\\php1F2E.tmp',
  25.       1 => 'C:\\temp\\uploadtemp\\php1F2F.tmp',
  26.     ),
  27.     'error' =>
  28.     array (
  29.       0 => 0,
  30.       1 => 0,
  31.     ),
  32.     'size' =>
  33.     array (
  34.       0 => 89769,
  35.       1 => 21710,
  36.     ),
  37.   ),
  38. )

и вот когда, поля для загрузки оставляю пустым
CODE (text):
скопировать код в буфер обмена
  1. array (
  2.   'UserFile' =>
  3.   array (
  4.     'name' => '',
  5.     'type' => '',
  6.     'tmp_name' => '',
  7.     'error' => 4,
  8.     'size' => 0,
  9.   ),
  10.   'ImgFiles' =>
  11.   array (
  12.     'name' =>
  13.     array (
  14.       0 => '',
  15.     ),
  16.     'type' =>
  17.     array (
  18.       0 => '',
  19.     ),
  20.     'tmp_name' =>
  21.     array (
  22.       0 => '',
  23.     ),
  24.     'error' =>
  25.     array (
  26.       0 => 4,
  27.     ),
  28.     'size' =>
  29.     array (
  30.       0 => 0,
  31.     ),
  32.   ),
  33. )
 
 Top
Champion Супермодератор
Отправлено: 13 Ноября, 2009 - 08:36:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




ну вот видишь, значит isset всегда будет истиным.
 
 Top
leshiy_SV
Отправлено: 13 Ноября, 2009 - 08:40:08
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




Все, вроде рабобрался, проштудировав еще раз документацию по загрузке файлов. получается что даже если поля загрузки файлов остаются пустыми, при оправке из формы данные передаются в php скрипт и массив $_FILES создается в любом случае, при этом все элементы массива пустые кроме $_FILES['uploadfile']['error'] сюда заноситься код ошибки 4 (UPLOAD_ERR_NO_FILE Значение: 4; Файл не был загружен.)
(Добавление)
выход наверное использовать только типа такой конструкции
CODE (text):
скопировать код в буфер обмена
  1.  if (!empty($_FILES['AudioFiles']['tmp_name'][0])){};
только так теперь работает правильно

(Отредактировано автором: 13 Ноября, 2009 - 08:42:16)

 
 Top
JustUserR
Отправлено: 14 Ноября, 2009 - 00:58:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




leshiy_SV Да в PHP отсутствующая переменная и пустая перменная совершенно разные вещи - кстати так сказать отсутсвуюзая перменная эквивалентна значению NULL - поэтому если что можете смело сравнивать с ним значения переменной


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB