С нами с 23.03.03
Сообщения: 287
Рейтинг: 204
|
Добавлено: 13/10/14 в 07:46 |
Приветствую
Есть похожий скриптик: из папки берет случайный файл и выводит случайную строку.
Код: [развернуть] |
<?
$nDir = '/home/user/public_html/files/links/';
$nTpl = '<a href="#URL#" target=_blank><b>#TITLE#</b></a>';
$nFiles = nGetFilesList($nDir);
shuffle($nFiles);
preg_match_all("/url=([^\]]+)]([^\[]+)/si", file_get_contents($nDir.$nFiles[0]), $nMatches);
foreach($nMatches[1] as $nKey => $nUrl)
{
$nString = str_replace('#URL#', $nUrl, $nTpl);
$nString = str_replace('#TITLE#', $nMatches[2][$nKey], $nString);
$nArr[] = $nString;
}
shuffle($nArr);
function nGetFilesList($DirName, $rxp = '.*')
{
$Files = Array();
$handle = @opendir($DirName);
if (!$handle) return false;
while($file = readdir($handle)) if (!is_dir($DirName.$file) && eregi($rxp, $file)) $Files[] = $file;
closedir($handle);
return $Files;
}
?>
|
Но здесь темплейт, какие-то замены.. подстановки...
Мне нужно тупо из папки выбрать случайный файл и вывести из него случайную строку. Спасибо
|
|
|
|
С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970
|
Добавлено: 13/10/14 в 09:01 |
Ну, если тупо, то как-то так:
Код: [развернуть] |
$nDir = '/home/user/public_html/files/links/';
$arrfile = glob($nDir .'*');
$rndfile = rand(0, count($arrfile)-1);
$arrstr = file($nDir . $arrfile[$rndfile]);
$rndstr = rand(0, count($arrstr)-1);
echo $arrstr[$rndstr];
|
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |