Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Скриптик
Новая тема
Ответить
цитата
22/03/10 в 15:33
Sergeyka
Нужен небольшой скриптец, который бы на морде раз в 12 часов ротировал тумбы с урлами из списка.
Т.е. задаешь списком <a href="url1"><img src="img1" alt="" /></a><a href="url2"><img src="img2" alt="" /></a><a href="url3"><img src="img3" alt="" /></a>
скрипт из списка рендомно без повторений раз в 12 часов?
Сколько
цитата
22/03/10 в 17:01
ibiz
вот скриптик, нужно два файла в urls.txt - исходные урлы, в randurls.txt пишется готовое
Код:
<?
$dispay_urls = file("randurls.txt");
if(trim($dispay_urls[0])+43200 < time()){
$urls = file(dirname(__FILE__)."/urls.txt");
shuffle($urls);
$fp = fopen(dirname(__FILE__)."/randurls.txt","w+");
fwrite($fp, time()."\n");
foreach ($urls as $url)
fwrite($fp, trim($url)."\n");
fclose($fp);
$dispay_urls = $urls;
}else
array_shift($dispay_urls);
foreach ($dispay_urls as $url) {
echo "$url";
}
exit;
?>
цитата
27/03/10 в 07:52
densa
а можно его модернизировать что бы он не все тумбы выдавал, а только случайные 8шт скажем?
цитата
27/03/10 в 09:47
ibiz
да легко, добавить пару строчек
цитата
29/03/10 в 21:51
KILOMETER
Можно сделать так:
в файле url_list.txt храним урлы
Код:
url_list.txt
$tumb[1]='<a href="url1"><img src="img1" alt="" /></a>';
$tumb[2]='<a href="url2"><img src="img2" alt="" /></a>';
$tumb[3]='<a href="url3"><img src="img3" alt="" /></a>';
$tumb[4]='<a href="url4"><img src="img4" alt="" /></a>';
$tumb[5]='<a href="url5"><img src="img5" alt="" /></a>';
$tumb[6]='<a href="url6"><img src="img6" alt="" /></a>';
$tumb[7]='<a href="url7"><img src="img7" alt="" /></a>';
$tumb[8]='<a href="url8"><img src="img8" alt="" /></a>';
$tumb[9]='<a href="url9"><img src="img9" alt="" /></a>';
$tumb[10]='<a href="url10"><img src="img10" alt="" /></a>';
и сам скриптик, выводит 5 случайных:
<?php
include"url_list.txt";
$kol_url=count($tumb);
for ($i=0; $i<5; $i++) {
$gal=rand(1,$kol_url);
echo"$tumb[$gal]";
for ($j=$gal; $j<$kol_url; $j++) {
$tumb[$j]=$tumb[$j+1];
}
$kol_url--;
}
?>
цитата
30/03/10 в 09:14
ibiz
KILOMETER писал:
Можно сделать так:
в файле url_list.txt храним урлы
что-то мне подсказывает, что он будет работать не совсем как надо
цитата
31/03/10 в 14:17
KILOMETER
ibiz писал:
что-то мне подсказывает, что он будет работать не совсем как надо
Тогда так:
Код:
<?php
$tumb[1]='<a href="url1"><img src="img1" alt="" /></a>';
$tumb[2]='<a href="url2"><img src="img2" alt="" /></a>';
$tumb[3]='<a href="url3"><img src="img3" alt="" /></a>';
$tumb[4]='<a href="url4"><img src="img4" alt="" /></a>';
$tumb[5]='<a href="url5"><img src="img5" alt="" /></a>';
$tumb[6]='<a href="url6"><img src="img6" alt="" /></a>';
$tumb[7]='<a href="url7"><img src="img7" alt="" /></a>';
$tumb[8]='<a href="url8"><img src="img8" alt="" /></a>';
$tumb[9]='<a href="url9"><img src="img9" alt="" /></a>';
$tumb[10]='<a href="url10"><img src="img10" alt="" /></a>';
$kol_url=count($tumb);
for ($i=0; $i<5; $i++) {
$gal=rand(1,$kol_url);
echo $tumb[$gal];
for ($j=$gal; $j<$kol_url; $j++) {
$tumb[$j]=$tumb[$j+1];
}
$kol_url--;
}
?>
цитата
31/03/10 в 15:13
samedi
код ниже
Последний раз редактировалось: samedi (
31/03/10 в 23:18
), всего редактировалось 2 раз(а)
цитата
31/03/10 в 18:23
ibiz
KILOMETER писал:
Тогда так:
ну что-то все равно не так, как требуется в первом посте
цитата
31/03/10 в 22:53
KILOMETER
ibiz писал:
ну что-то все равно не так, как требуется в первом посте
Тогда ВОТ как:
Код:
<?
$fp2=fopen(dirname(__FILE__)."/urls.txt","r");
$urls = file("urls.txt");
$dat=stat("randurls.txt");
if($dat[10]+43200 < time()){
$fp=fopen(dirname(__FILE__)."/randurls.txt","w+");
$kol_url=count($urls);
for ($i=0; $i<5; $i++)
{
$gal=rand(0,$kol_url-1);
//echo"$urls[$gal]";
fwrite($fp, trim($urls[$gal])."\n");
for ($j=$gal; $j<$kol_url; $j++)
{
$urls[$j]=$urls[$j+1];
}
$kol_url--;
}
fclose($fp);
}
else{};
$rand_urls = file("randurls.txt");
foreach ($rand_urls as $url)
echo"$url";
?>
...и без повторов, и с ротацией один раз за 12 часов...
цитата
31/03/10 в 23:17
samedi
Код:
<?php
define("SOURCE", "data.txt");
define("OUTPUT", "done.html");
define("COUNT", 3);
if (filemtime(OUTPUT) > time() - 60*60*12) { // 12 hours delay
$output = file_get_contents(OUTPUT);
} else {
$data = file(SOURCE);
shuffle($data);
$urls = array_slice($data, 0, COUNT);
$output = implode("\n", $urls);
file_put_contents(OUTPUT, $output);
}
echo $output;
Последний раз редактировалось: samedi (
11/04/10 в 21:11
), всего редактировалось 1 раз
цитата
11/04/10 в 14:41
densa
а как сделать так что бы он только 8 тумб генерил?
цитата
11/04/10 в 21:12
samedi
densa писал:
а как сделать так что бы он только 8 тумб генерил?
Изменить значение COUNT.
Код:
define("COUNT", 8);
Новая тема
Ответить
Эта страница в полной версии