2016-05-17 2 views
-1

У меня очень простая инструкция if, которая ищет, если установлен $ _FILES [], и если это так, создайте переменную. Вот он:Если оператор не ведет себя

if(isset($_FILES['photo']['name'])){$image="yes";} 

Так что если он обнаруживает, что файлы действительно установлены, дайте $ image значение yes. На данный момент, независимо от того, установлен ли его набор или нет, значение передается в $ image. Это сводит меня с ума. Не имеет значения, даже если я сниму часть ['name']. Я делал каждое воплощение утверждения if, которое я могу придумать, чтобы заставить его вести себя, но Im в растерянности.

ответ

0

Оказалось, что проверка того, что $ _files isset вернет значение в том, что даже без загрузки файла массив будет содержать информацию. Если вы будете делать var_dump на $ files ['photos'] ['name'], вы увидите, что значение для этого бита информации равно 0, и поэтому при проверке, будет ли его набор, вы получите положительный ответ. Вот как я преодолел свою проблему:

$foo =$_FILES['photo']['name']; 
    $foopoo = $foo[0]; 
    if (strlen($foopoo)>2){$image= "yes";} 
Смежные вопросы