Random избор на файл

Fozzy

Registered
Здравейте! Как мога в пхп да заредя файл чрез функция подобна на include, но да се зарежда рандом файл от зададена директория?
 
Код:
<?
$dir = "del/";
$thedir = opendir($dir);
while (false !== ($file = readdir($thedir))){
if (in_array($file, array(".", ".."))) continue;
$files[] = $file;
}
$all = count($files);
$random = rand(1,$all);
include("$dir$random.php");
?>

Като файловете са в папка del/ или каквато я промениш, а самите файлове са така 1.php, 2.php, 3.php и т.н

Не съм го тествал, но мисля, че работи :?:
 
А това може ли да се направи да не изкарва рандом файл

ами от 1 фаил пълен с линкове да взима рандом линк?
 
Разбира се, че може.
Ключовата функция е rand($min, $max), тя изкарва произволно число между $min и $max, които са числа.
http://bg2.php.net/manual/bg/function.rand.php
Можеш да използваш това число да изкараш произволен ред от файла с линковете.
 
Код:
<?
$links = array(
"1" => "http://web-tourist.net",
"2" => "http://google.bg",
"3" => "http://data.bg",
"4" => "http://sf.net",
);
$max = count($links); $rd = rand(1,$max);
echo $links[$rd];
?>

Не съм го тествал ;)
 
ок работи

но искам

това да е в файл link.txt

"1" => "http://web-tourist.net",
"2" => "http://google.bg",
"3" => "http://data.bg",
"4" => "http://sf.net",


а кода да е в друг файл

примерно: link.php


икато отвориш links.php да вади random линк от линк.txt
 
Код:
<?
$links = file('links.txt');
$rd = rand(0,count($links)-1);
echo $links[$rd]; 
?>

в links.txt си слагаш линковете така:
Код:
http://data.bg
http://web-tourist.net
http://sf.net
http://google.bg
http://adobe.com
 
lenovec каза:
Много полезна тема!

Ако обаче искаме линковете да се отварят сами?

и на жените краката също :D

ем сложи meta equiv или header location и променливата , която е линка
 

Back
Горе