Мой код рандомизации не работает автономно

Я php noob, и я просто сделал небольшой скрипт из других скриптов, которые я нашел в сети. Он выбирает 3 случайных изображения из папки «Random» и показывает их.

Хотя я запускаю скрипт онлайн, он работает, но когда я пытаюсь запустить его в автономном режиме на xampp, я получаю эту ошибку:

Примечание. Неопределенная переменная: random2 в C: \ xampp \ htdocs \ sito \ finaleasd2.php в строке 69

Это линия, где изображения получают свое имя как переменную. Я думаю, что это связано с тем, что сценарий не получает имя папки прямо в автономном режиме, но я не уверен: что происходит? 🙂

Кстати, это сценарий, а строка 69 – это (! $ Random2 || $ random2 == $ random1) {(я знаю, это беспорядок!: D)

Спасибо за помощь и время! 🙂

<?php function RandomFile($folder='', $extensions='.*'){ // fix path: $folder = trim($folder); $folder = ($folder == '') ? './' : $folder; // check folder: if (!is_dir($folder)){ die('invalid folder given!'); } // create files array $files = array(); // open directory if ($dir = @opendir($folder)){ // go trough all files: while($file = readdir($dir)){ if (!preg_match('/^\.+$/', $file) and preg_match('/\.('.$extensions.')$/', $file)){ // feed the array: $files[] = $file; } } // close directory closedir($dir); } else { die('Could not open the folder "'.$folder.'"'); } if (count($files) == 0){ die('No files where found :-('); } // seed random function: mt_srand((double)microtime()*1000000); // get an random index: $rand = mt_rand(0, count($files)-1); // check again: if (!isset($files[$rand])){ die('Array index was not found! very strange!'); } // return the random file: return $folder . "/" . $files[$rand]; } //assegna i nomi delle variabili ai file $random1 = RandomFile("random"); while (!$random2 || $random2 == $random1) { $random2 = RandomFile("random"); } while (!$random3 || $random3 == $random1 || $random3 == $random2) { $random3 = RandomFile("random"); } //la parte dedicata alla creazione dei testi alternativi partendo da un file di testo $quotesfile = "quotes.txt"; //Relative path to and the filename of the file that contains your quotes. $array = @file("$quotesfile"); // Crea un array con le citazioni $quote = rand(0, count($array)-1); $titolo = array_rand($array, 3); // la parte sotto crea un div con dentro due immagini statiche, i lati della panchina, e quattro caricate a caso. le immagini hanno // come titoli le variabili estratte casualmente dall' array di nome array preso dal file di testo di prima ?> 

Если ваша единственная проблема – undefined variable , это легко.

Параметры сервера различаются на локальных и удаленных серверах, поэтому одна возвращает ошибку, а другая – нет, но когда вы задаете !$random2 до ее !$random2 она возвращает ошибку.

Поэтому просто установите $random2 false перед циклом while.

То же самое касается $random3 .