SHOW:
|
|
- or go back to the newest paste.
| 1 | <?php | |
| 2 | srand(time()); | |
| 3 | $backdir="./backgrounds/"; //путь к файлам бэкграунда . в конце слэш обязателен! | |
| 4 | $icondir="./iconz/"; //путь к файлам иконок (для favicon.ico) . в конце слэш обязателен! | |
| 5 | $template_in_dir="./in_design/"; //путь к исходной директории шаблона (отсюда берем style.css). в конце слэш обязателен! | |
| 6 | $template_out_dir="./out_design/"; //путь к директории готового шаблона. в конце слэш обязателен! | |
| 7 | ||
| 8 | /*рандомизируем файл фона и иконку-фавиконку*/ | |
| 9 | $backfile=get_random_file($backdir); | |
| 10 | $iconfile=get_random_file($icondir); | |
| 11 | @unlink($template_out_dir.'background.jpg'); copy ($backdir.$backfile,$template_out_dir.'background.jpg'); | |
| 12 | @unlink($template_out_dir.'favicon.ico'); copy ($icondir.$iconfile,$template_out_dir.'favicon.ico'); | |
| 13 | ||
| 14 | ||
| 15 | /*рандомизируем файл стилей*/ | |
| 16 | /* | |
| 17 | в исходнике стилей должны быть такие строчки: | |
| 18 | %div_content% | |
| 19 | %div_sidebar% | |
| 20 | %body% | |
| 21 | вместо них будут подставлены нужные значения: | |
| 22 | ||
| 23 | расположение слоев div_content & div_sidebar | |
| 24 | цвета для body | |
| 25 | */ | |
| 26 | ||
| 27 | $style=file_get_contents($template_in_dir.'style.css'); | |
| 28 | /*ширина блоков*/ | |
| 29 | $max_width=1000; //максимальная суммарная ширина для блоков контента и сайдбара. | |
| 30 | $wc=rand(600,700); | |
| 31 | $ws=$max_width-$wc; | |
| 32 | ||
| 33 | /*расположение*/ | |
| 34 | $float=array('float:left','float:right');
| |
| 35 | shuffle($float); | |
| 36 | list($fc,$fs)=$float; | |
| 37 | /*шрифты*/ | |
| 38 | $fonts=array('Verdana, Geneva, sans-serif','Arial, Helvetica, sans-serif','Tahoma, Geneva, sans-serif','"Lucida Sans Unicode", "Lucida Grande", sans-serif');
| |
| 39 | shuffle($fonts); $font=$fonts[0]; | |
| 40 | ||
| 41 | /*цвета для боди | |
| 42 | отталкиваемся от светлого дизайна | |
| 43 | */ | |
| 44 | $back_color=dechex(rand(200,255)).dechex(rand(200,255)).dechex(rand(200,255)); | |
| 45 | $font_color=dechex(rand(10,30)).dechex(rand(10,30)).dechex(rand(10,30)); | |
| 46 | ||
| 47 | $in=array('%div_content%','%div_sidebar%','%body%');
| |
| 48 | $out=array( | |
| 49 | '#div_content {'.$fc.'; width:'.$wc.'px;}',
| |
| 50 | '#div_sidebar {'.$fs.'; width:'.$ws.'px;}',
| |
| 51 | 'body {background-color:#'.$back_color.'; color:#'.$font_color.'; font-family: '.$font.'}',
| |
| 52 | ); | |
| 53 | ||
| 54 | ||
| 55 | $style=str_replace($in,$out,$style); | |
| 56 | $fd=fopen($template_out_dir.'style.css','w'); | |
| 57 | fwrite ($fd,$style); | |
| 58 | fclose ($fd); | |
| 59 | ||
| 60 | ||
| 61 | /*получение случайного файла из директории*/ | |
| 62 | function get_random_file($dirname){
| |
| 63 | $dir=scandir($dirname); | |
| 64 | array_shift($dir); array_shift($dir); //удаляем . и .. | |
| 65 | return $dir[array_rand($dir,1)]; | |
| 66 | } | |
| 67 | ||
| 68 | ?> |