Как использовать условие if.else для выбора папки в PHP - PullRequest
0 голосов
/ 26 октября 2019

Я попробовал приведенный ниже код для выбора изображений из разных папок с помощью оператора if ... else

 $username=$_SESSION['username'];
 $db = mysqli_connect('localhost', 'root', '', 'registrations');

 $selectlevels="SELECT level from users WHERE username='$username'";
 $getlevels=mysqli_query($db,$selectlevels);

 while($lvls=mysqli_fetch_array($getlevels)){

 if ($lvls['level']=='1') {
 $dire="Annotated Dataset/images1/";
 $images = glob($dire. '*.{jpg,jpeg}', GLOB_BRACE);

 shuffle($images);
 $images=array_slice($images,0,6);

 return $images;
 }

 else{
  $dire="Annotated Dataset/images/";
  $images = glob($dire. '*.{jpg,jpeg}', GLOB_BRACE);

 shuffle($images);
 $images=array_slice($images,0,6); 
 return $images;
  }

  $_SESSION['images']=$images;
  }

В последующем коде используется $ _SESSION ['images'].

Когда я пытался выполнить свой код, я не мог получить папки. и в консоли нет ошибок. Я проверил запросы, работает отлично. Я думаю, я сделал что-то не так с утверждением if else. Может кто-нибудь помочь мне с этими проблемами.

1 Ответ

0 голосов
/ 26 октября 2019

Код после return с не будет выполнен. Если вы хотите, чтобы ваш $_SESSION['images']=$images; работал, вы должны удалить два return $images;

. Вы также можете избежать повторения кода, изменив свои операторы if на:

if ($lvls['level']=='1') {
   $dire="Annotated Dataset/images1/";
} else {
  $dire="Annotated Dataset/images/";
}
$images = glob($dire. '*.{jpg,jpeg}', GLOB_BRACE);
shuffle($images);
$images=array_slice($images,0,6);

, поскольку толькоПуть к изображению, кажется, меняется.

...