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 :: Проверка через if

 PHP.SU

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


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

> Без описания
antobra
Отправлено: 16 Декабря, 2010 - 12:22:17
Post Id


Посетитель


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


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




Господа, как осуществить следующее:

Делаю проверку загружаемого файла ($_FILES). Вытащил из загружаемого файла расширение, типа .xls (.jpg и т.д.) и сейчас проверяю.

Сейчас у меня такая конструкция:
if($one == '.doc' || $one == '.docx' || $one = '.xls') {
echo "удача";
} else {
echo "Нет";
}

И таких проверок с $one еще штук 5 на другие расширения, а как это сделать, чтоб каждый раз не писать "$one ==". Некрасиво, непрофессионально и вообще БУЭ какое-то.

Как можно правильно сделать конструкцию? Может через while и array ? Подскажите, пожалуйста.
 
 Top
DlTA
Отправлено: 16 Декабря, 2010 - 12:24:04
Post Id



Постоянный участник


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


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




вписать весь перечень в массив и использовать стандартную функцию поиска по массиву
 
 Top
antobra
Отправлено: 16 Декабря, 2010 - 12:35:29
Post Id


Посетитель


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


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




PHP:
скопировать код в буфер обмена
  1. $a = array(".rar", ".zip", ".xls", ".doc", ".docx", "jpg", "png", "jpeg", "gif", "mp3", "avi", "mp4", "txt", "rtf", "pdf");
  2.  
  3. if (in_array("$ext", $a, true)) {
  4.  // продолжение скрипта
  5. } else { /* вывод ошибки*/ }


и если среди $a есть формат, который находится в $ext, то скрипт будет продолжаться. Верно?
 
 Top
OrmaJever Модератор
Отправлено: 16 Декабря, 2010 - 12:45:05
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




да верно только зачем переменую $ext в кавычки обводить?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
antobra
Отправлено: 16 Декабря, 2010 - 13:47:35
Post Id


Посетитель


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


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




OrmaJever пишет:
да верно только зачем переменую $ext в кавычки обводить?


Задумался не о том))) Я там еще точки не поставил в конце в массиве, поэтому не страшно)) Тем более у меня скрипт работает, т.е. все поправлено)

Всем спасибо!
 
 Top
Invert
Отправлено: 16 Декабря, 2010 - 14:04:19
Post Id



Частый гость


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


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




switch ... case ... не подходит?
 
 Top
antobra
Отправлено: 16 Декабря, 2010 - 14:10:28
Post Id


Посетитель


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


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




Invert пишет:
switch ... case ... не подходит?


Не подходит. Решение найдено. См. выше.

Thanks.
 
 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