Перейти к публикации

Рекомендованные сообщения

Создаем файл \engine\modules\random_image.php

Со следующим содержанием:

<?

if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}

$random_image = "<center><img src=\"/r_images/".rand(1,10).".jpg\"></a></center>";

// rand(1,10) Количество картинок с 1 по 10-ю должны иметь адреса 1.jpg - ... - 10.jpg

?>

Далее открываем файл engine\init.php

Находим:

include_once $tpl->dir.'/login.tpl';

После добавляем

include_once ENGINE_DIR.'/modules/random_image.php';

Далее открываем index.php в корневой папке и находим там:

$tpl->set('{speedbar}', $tpl->result['speedbar']);

После добавляем:

$tpl->set('{random_image}', $random_image);

Теперь сами рисунки.

Их вы добавляете в папку "r_images" которую нужно создать в корневой директории.

В эту папку залейте рисунки, в данном случае 10

Имена рисунков должны быть от 1.jpg до 10.jpg

Вот и все. Остается только в нужном месте в шаблоне

вставить переменную {random_image}

Данный материал не на что не претендует....

Хотел показать как можно интегрировать простейший стрипт в движок.

PS/ Делал на ДЛЕ 5.3

Изменено пользователем Sywooch
Ссылка на сообщение
Поделиться на других сайтах

А вот из такого скрипта сможешь сделать тоже самое?

<?php

/*

 Небольшая модификация скрипта от REDSHIFT SOFTWARE

 Автор модификации: Guru.eXe/tPORt

 WWW: http://guru-exe.ripgames.org/

*/


if (!isset($path) || empty($path)){

  $mydir = "img";

} else {

 if ($dir = @opendir($path)){

  $mydir = $path;

 } else {

  $mydir = "img";

 }

}


if ($dir = @opendir($mydir)) {

	while (($file = readdir($dir)) !== false) {

		if (eregi('.(jpg|gif|png|jpeg|bmp|jpe)$',$file)) $files[] = $file;

	} 

	closedir($dir);

}



srand(time());

$file = $files[rand()%sizeof($files)];


if (eregi('.(jpg|jpeg|jpe)$',$file)) {

	header( "Content-Type: image/jpeg" );

} elseif (eregi('.gif$',$file)) {

	header( "Content-Type: image/gif" );

} elseif (eregi('.bmp$',$file)) {

	header( "Content-Type: image/bmp" );

} else {

	header( "Content-Type: image/png" );

}

header  ("Content-Length: ".filesize($mydir."/".$file));

readfile($mydir."/".$file);

?>

Чем он лучше? да тем что он берет картинки не зависимо от названия, количества, расшерения. Если есть какие то идеи прошу помочь ;-) за ранее спасибо!

Ссылка на сообщение
Поделиться на других сайтах

Ну конечно можно и из этого сделать.

Дело в том что я это все написал дабы многие поняли сам принцип!!!

И это естественно не лучший вариант ротации

А простейший.

ЗЫ. Приду домой и посмотрю Ваш скрипт.

ЗЫЫ, Хотя тут тоже самое все только смените код у файла random_image.php на свой!!!

Изменено пользователем Sywooch
Ссылка на сообщение
Поделиться на других сайтах

В этом топике, надеюсь кому то будет полезен, я попытался привести пример создения простенького модулы (Блока)

Но если провести ряд манипуляций, можно сделать полноценный модуль со своим шаблоном!!!

Тоесть если вы хотите реализовать что нибудь конкретное.

Например модуль погоды.

Берете грабер,

Создаете файл модуля, по схеме выше,

Добавляете несколько переменных для подгружения щаблона (например клонированного из статической странчки)

Ставите переменные для линка чтот типа

case "wether" :

include ENGINE_DIR.'/modules/wether.php';

break;

И все такое....

Тоесть все достаточно просто. Остается только немного поlключить фантазию.

Главное не лениться и все получится.

Ссылка на сообщение
Поделиться на других сайтах

В первом посте в код вместо этой строки:

$random_image = "<center><img src=\"/r_images/".rand(1,10).".jpg\"></a></center>";

Вставьте свой код остальные операции посторите......

Ссылка на сообщение
Поделиться на других сайтах

После:

Далее открываем файл engine\init.php

Находим:

include_once $tpl->dir.'/login.tpl';

После добавляем

include_once ENGINE_DIR.'/modules/random_image.php';

двиг вообще отказывается работать... Может все заново, на основе моего скрипта все объясним? ;-) За ранее говорю вам СПАСИБО!

Изменено пользователем Rizza
Ссылка на сообщение
Поделиться на других сайтах

Да ведь просто все.

Вот вам рабочий вариант с вашим кодом

Все сделать как в первом посте только

замените код в файле \engine\modules\random_image.php

на приведенный ниже.

<?

if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}

ob_start();

if (!isset($path) || empty($path)){

  $mydir = "image_rnd";

} else {

if ($dir = @opendir($path)){

  $mydir = $path;

} else {

  $mydir = "image_rnd";

}

}


if ($dir = @opendir($mydir)) {

	while (($file = readdir($dir)) !== false) {

		if (eregi('.(jpg|gif|png|jpeg|bmp|jpe)$',$file)) $files[] = $file;

	} 

	closedir($dir);

}



srand(time());

$file = $files[rand()%sizeof($files)];


if (eregi('.(jpg|jpeg|jpe)$',$file)) {

	header( "Content-Type: image/jpeg" );

} elseif (eregi('.gif$',$file)) {

	header( "Content-Type: image/gif" );

} elseif (eregi('.bmp$',$file)) {

	header( "Content-Type: image/bmp" );

} else {

	header( "Content-Type: image/png" );

}

echo "<img src=".$mydir."/".$file.">";

$random_image=ob_get_contents(); 

ob_end_clean();

?>

Ссылка на сообщение
Поделиться на других сайтах

:( ХМ.. терь вот что пишет:

Изображение “http://site.ru/” не может быть показано, так как содержит ошибки.

При чем это пишет не на месте где вставлено {random_image} а просто при заходе на сайт появляеться эта надпись и ничего более...

Ссылка на сообщение
Поделиться на других сайтах

Странно!!!

Все работает отлично!

Конечно я не могу гарантировать что у вас оно будет работать!

Может вы просто невнимательно что то вписали?

У меня работает отлично.

Правда на локалхосте.

А на сайте я использую свой вариант.

появляеться эта надпись и ничего

Вы не меняли код который я приводил 4 топика выше????

Скорее всего вы влепили туда вот эту гадость!!!

header ("Content-Length: ".filesize($mydir."/".$file));

readfile($mydir."/".$file);

Если не будет рыботать и далее я сделаю копии файлов!

Изменено пользователем Sywooch
Ссылка на сообщение
Поделиться на других сайтах

предлагаю доработать и сделать картинки со ссылами на новость.

т.е. к новости подгружаем картинку она попадает в ротатор, а ротаторе как ссылка на новость.

хотя... есть мысль сделать это средствами самого скрипта.

Ссылка на сообщение
Поделиться на других сайтах

вобщем, если делать силами самого скрипта, предлагаю следущий вариант.

1. добавляем доп. поле новости текстовое, куда будем ставить ссылку на нужную нам для ротации картинку

2. в нужном месте ставим тег {custom} и делаем ему спец. шаблон

3. в шаблоне не кастома пишем <img scr="[xvalue_image]">

и он нам должен выводить ряд картинок. теперь осталось сделать ему ротацию, думаю в том же шаблоне кастома можно приделать пхп код, вы как думаете?

Ссылка на сообщение
Поделиться на других сайтах

а можно сделать вот

пишеш дату: дату и время и в это время показывает картину :) а еще указываеш время и в это время показывает ту картинку?

Ссылка на сообщение
Поделиться на других сайтах

Итак рабочая версия от Sywooch'a:

1. Создаем файл \engine\modules\random_image.php

Со следующим содержанием:

<?

if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}

if (!isset($path) || empty($path)){

  $mydir = "image_rnd";

} else {

if ($dir = @opendir($path)){

  $mydir = $path;

} else {

  $mydir = "image_rnd";

}

}


if ($dir = @opendir($mydir)) {

	while (($file = readdir($dir)) !== false) {

		if (eregi('.(jpg|gif|png|jpeg|bmp|jpe)$',$file)) $files[] = $file;

	}

	closedir($dir);

}

srand(time());

$file = $files[rand()%sizeof($files)];


$random_image = "<img src=".$mydir."/".$file.">";

?>

2. Далее открываем файл engine\init.php

Находим:

include_once $tpl->dir.'/login.tpl';

После добавляем

include_once ENGINE_DIR.'/modules/random_image.php';

3. Далее открываем index.php в корневой папке и находим там:

$tpl->set('{speedbar}', $tpl->result['speedbar']);

После добавляем:

$tpl->set('{random_image}', $random_image);

4. Картинки заливаем в папку "image_rnd", предварительно создав ее в корневой папке сайта!

Изменено пользователем Rizza
Ссылка на сообщение
Поделиться на других сайтах

а вот такой ещё вопрос, а как сделать чтоб несколько картинок одновременно было в ротации к примеру,

1 картинка и у неё цифры от 1 до 10

2 картинка у неё цифры от 11 до 20... т.е. залил 20 картинок, и не беспокоешься, что они повтоятся...

как реализовать ?

Ссылка на сообщение
Поделиться на других сайтах

Последний скрипт отображает картинки только на главной, в категориях не отображает.

И путь до картинки имеет вид например такой http://сайт.ru/category/soft/image_rnd/6.jpg

А должен быть http://сайт.ru/image_rnd/6.jpg

Т.е. получается нужно создавать папки для каждой категории и помещать туда картинки.

Какой в этом смысл.

Изменено пользователем nils
Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

Just_Smile, запросы чего? кто пойдет в магазин? :)

к базе нет а вот к папке где лежат картинки да, при каждом обращении к странице сайта... ЖЕСТКОВАТО... :blink:

nils,

попробуй поставить путь относсительно твоего домена...

Вместо:

$mydir = "image_rnd";
вот это:
$mydir = "/image_rnd";

гнезнаю сам не проверял, попробуй

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...