Zufälliges Bild anzeigen, danach löschen/nie wieder anzeigen?

Hallo,

ich möchte auf einer Website ein zufälliges Bild aus dem Ordner img/ anzeigen und danach verschieben (in einen anderen Ordner) oder löschen, sodass es nie wieder angezeigt wird. Das ganze soll ohne Array oder sowas funktionieren, da es über 300 Bilder sind.

Hintergrund ist ein Couponsystem, deshalb jedes Bild nur einmal.

<?php
error_reporting(E_ALL & ~E_NOTICE);
// Random Image function
function random_image($directory)
{
  $leading = substr($directory, 0, 1);
  $trailing = substr($directory, -1, 1);
   
  if($leading == '/')
  {
    $directory = substr($directory, 1);
  }
  if($trailing != '/')
  {
    $directory = $directory . '/';
  }
   
  if(empty($directory) or !is_dir($directory))
  {
    die('Error: Not found');
  }
   
  $files = scandir($directory, 1);
   
  $make_array = array();
   
  foreach($files AS $id => $file)
  {
    $info = pathinfo($dir . $file);
   
    $image_extensions = array('jpg', 'jpeg', 'gif', 'png', 'ico');
    if(!in_array($info['extension'], $image_extensions))
    {
      unset($file);
    }
    else
    {
      $file = str_replace(' ', '%20', $file);
      $temp = array($id => $file);
      array_push($make_array, $temp);
    }
  }
   
  if(sizeof($make_array) == 0)
  {
    die('No more Images....');
  }
   
  $total = count($make_array) - 1;
  $random_image = rand(0, $total);
  return $directory . $make_array[$random_image][$random_image];
}
?>

Im Endeffekt müsste das Bild statt zurückgegeben zu werden, in einen anderen Ordner verschoben, aus dem Originalordner gelöscht und dann in HTML das verschobene Bild angezeigt werden. Wie mache ich das?

Website, Programm, HTML, JavaScript, PHP, Zufall, Webpage
0 Antworten
PHP: Wie kann ich das zufällig ausgewählte und angezeigte Bild danach löschen?

Hey,

ich habe keine Ahnung von PHP. Bevor ich irgendetwas falsch oder kaputt mache, könnte mir vielleicht jemand dabei helfen?

_____________________________________________

Wie kann ich das zufällig ausgewählte und angezeigte Bild danach löschen?

Bitte genaue Angaben: Was und wo, oder am besten selbst editieren, vielen Dank! 😐

index.php:

<?php
  require 'random_image.php';
  echo "<img src=" . random_image('image') . " />";
?>

random_image.php:

<?php
  error_reporting(E_ALL & ~E_NOTICE);

  // Random Image function
  function random_image($directory) {
    $leading = substr($directory, 0, 1);
    $trailing = substr($directory, -1, 1);

    if ($leading == '/') {
      $directory = substr($directory, 1);
    }

    if ($trailing != '/') {
      $directory = $directory . '/';
    }

    if (empty($directory) or !is_dir($directory)) {
      die('Directory: ' . $directory . ' not found.');
    }

    $files = scandir($directory, 1);
    $make_array = array();

    foreach ($files AS $id => $file) {
      $info = pathinfo($dir . $file);
      $image_extensions = array('jpg', 'jpeg', 'gif', 'png', 'ico');

      if (!in_array($info['extension'], $image_extensions)) {
        unset($file);
      }
      else {
        $file = str_replace(' ', '%20', $file);
        $temp = array($id => $file);
        array_push($make_array, $temp);
      }
    }

    if (sizeof($make_array) == 0) {
      die('No images in ' . $directory . ' Directory');
    }

    $total = count($make_array) - 1;
    $random_image = rand(0, $total);

    return $directory . $make_array[$random_image][$random_image];
  }
?>
Internet, Website, HTML, PHP, Webdesign, Webpage
3 Antworten