Web, SQL: отображать случайные изображения независимо от имени файла, загружать изображения из папки - PullRequest
1 голос
/ 06 июня 2011

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

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

Поэтому мой следующий шаг - создать базу данных SQL, в которой каждое изображение получит ключ, и будет выбрано 10 ключей.случайным образом по запросу - изображения, связанные с ними, затем будут переданы в массив, в который документ будет загружать элементы.

Но теперь я предполагаю, что мне нужно знать, как автоматически заполнять базу данных SQL, имея еечитать папку?

Проницательность, если мне не придется изобретать велосипед, тем лучше

Ответы [ 3 ]

3 голосов
/ 06 июня 2011

Glob работает как в файловой системе, например, поддерживает подстановочные знаки

$files = glob('/path/to/files/*.jpg');
$yourRandomFile = array_rand($files);

Возвращает случайный файл JPG в зависимости от его расширения.

1 голос
/ 06 июня 2011

Это должно сделать это:

function your_dir ($directory) 

{

$results = array();

$handler = opendir($directory);

while ($file = readdir($handler)) {

  if ($file != "." && $file != "..") {

    $results[] = $file;

    //or sql query for each file

    $sql = mysql_query("SELECT * FROM your_table WHERE your_file = '".$file."'");
    if(mysql_num_rows !== 0){

    //your query...

    }

    //

  }


}

closedir($handler);

return $results;

}


$directory = '/path/to/your/directory';

your_dir($directory);

Вероятно, было бы лучше выбрать существующие файлы из базы данных, сначала поместить их в массив и исключить, а не проверять каждый из них.

0 голосов
/ 06 июня 2011

Вы можете сделать, как показано ниже.
1. прочитать полный каталог, из которого вы хотите, чтобы страница загружала изображение
2. сохранить имена изображений в массиве
3. теперь сгенерируйте число, используя случайную функциюот 1 до размера массива
4. рассмотрите сгенерированное число как ключ для массива и используйте это имя изображения, чтобы поместить изображение.

...