function cycle($meth)
{
foreach($_FILES as $key => $val)
{
if($meth == 'type')
{
$obj .= $_FILES[$key]['type'].'_';
}
}
if($meth == 'type')
$obj = substr($obj, 0, -1);
return $obj;
}
function type()
{
$types = array('image/gif','image/jpeg','image/pjpeg');
$imgType = explode('_',$this->cycle('type'));
foreach($imgType as $key => $val)
{
foreach($types as $key2 => $val2)
{
if($imgType[$key] == $types[$key2])
{
$mess = true;
break;
}
else
{
$meth = false;
}
}
}
if($meth == true)
return true;
}
Почему же?подскажите пожалуйста!
Спустя 8 часов, 56 минут, 11 секунд (3.04.2011 - 18:00) ИНСИ написал(а):
nugle попробуй так:
function cycle() {
while(list($key) = each($_FILES)) {
$obj .= $_FILES[$key]['type'] . ' ';
}
return trim($obj);
}
function type() {
$types = array('image/gif','image/jpeg','image/pjpeg');
$imgType = explode(' ',$this->cycle());
foreach($imgType as $data) {
if(!in_array($data,$types)) return false;
}
return true;
}
Спустя 47 минут, 17 секунд (3.04.2011 - 18:48) nugle написал(а):
а разве return true; не будет всегда возвращать true?
Спустя 2 минуты, 15 секунд (3.04.2011 - 18:50) silius написал(а):
nugle
если расширение неправильное, то вернёт false
если расширение неправильное, то вернёт false
Спустя 1 минута, 18 секунд (3.04.2011 - 18:51) ИНСИ написал(а):
Цитата |
а разве return true; не будет всегда возвращать true? |
Нет. Если сработает строка:
Цитата |
if(!in_array($data,$types)) return false; |
то вернется false
Спустя 8 минут, 12 секунд (3.04.2011 - 19:00) ИНСИ написал(а):
nugle можно все так сделать:
function type() {
$types = array('image/gif','image/jpeg','image/pjpeg');
while(list($key) = each($_FILES)) {
if(!in_array($_FILES[$key]['type'],$types)) return false;
}
return true;
}
Спустя 8 минут, 58 секунд (3.04.2011 - 19:08) nugle написал(а):
ну а почему же бы за это не отблагодарить?
Благодарству velbox!
Благодарству velbox!