GhosTama Опубликовано 23 Июня 2009 Жалоба Поделиться Опубликовано 23 Июня 2009 собственно вот этот скрипт оч хороший и удобный) но хочется одно маленькое дополнение к нему:1) не менять картинку после обновления странички2) менять картинку раз в сутки или 2 раза в сутки в опр время)или мож че есть другое похожее? Ссылка на комментарий Поделиться на других сайтах Прочее
mastero444ek Опубликовано 23 Июня 2009 Жалоба Поделиться Опубликовано 23 Июня 2009 (изменено) *** Изменено 23 Июня 2009 пользователем Arhar Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 23 Июня 2009 Жалоба Поделиться Опубликовано 23 Июня 2009 и это энтузиаст современных информационных технологий... Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 23 Июня 2009 Жалоба Поделиться Опубликовано 23 Июня 2009 но хочется одно маленькое дополнение к нему:1) не менять картинку после обновления странички2) менять картинку раз в сутки или 2 раза в сутки в опр время)или мож че есть другое похожее?Понравился скрипт. Доделал. Сделал возможность использования неограниченного количества таймеров "задержки" изображения.Вызов: rotate.php?rtime=120 будет менять картинки каждые 120 секунд (2 минуты); при этом вызов rotate.php?rtime=3600 с другой страницы будет прокручивать свои картинки со сменой через 360 секунд (1 час).Никаких ограничений на количество счетчиков и длительность интервала смены картинки в каждом счетчике. <?php /* AUTOMATIC IMAGE ROTATOR Version 2.2 - December 4, 2003 Copyright © 2002-2003 Dan P. Benjamin, Automatic, Ltd. All Rights Reserved. http://www.hiveware.com/imagerotator.php http://www.automaticlabs.com/ */ /* ------------------------- CONFIGURATION ----------------------- Пропишите в $folder полный путь к директории с изображениями. Пример: $folder = '/user/me/example.com/images/'; Если у вас rotate.php лежит в одной папке с изображениями, то настраивать ничего не нужно. Оставьте $folder = '.'; */ //$folder = '.'; // Для IPB директории аплоадсов можно проще: $folder = $_SERVER['DOCUMENT_ROOT']."/uploads"; /* Большинству пользователей эти настройки можно проигнорировать. Если вы хотите добавить новые типы изображений, отличных от gif, jpg, и png, то просто скопируйте строку типа изображения и добавьте ниже остальных строк со своим mime-типом. Пример: PDF файлы: $extList['pdf'] = 'application/pdf'; CSS файлы: $extList['css'] = 'text/css'; Вы даже можете использовать случайные HTML файлы: $extList['html'] = 'text/html'; $extList['htm'] = 'text/html'; Главное, чтобы mime-тип был правильным! */ $extList = array(); $extList['gif'] = 'image/gif'; $extList['jpg'] = 'image/jpeg'; $extList['jpeg'] = 'image/jpeg'; $extList['png'] = 'image/png'; // Ниже редактировать ничего не нужно. // --------------------- END CONFIGURATION ----------------------- /* Add-on by FatCat: задержка ротации по таймеру в адресной строке. Вызов: rotate.php?rtime=600 Параметр rtime указывает скрипту на сколько секунд задержать изображение до следующей ротации. Скрипту должны быть разрешены чтение и запись в директорию с имиджами. */ if( isSet($_GET['rtime']) ) { if(!file_exists($folder."/rotate.php.ini")) { $fh = fopen($folder."/rotate.php.ini", "w"); fwrite($fh, ''); fclose($fh); } $table = file($folder."/rotate.php.ini"); $rows = Array(); foreach($table as $row) { // Пересобираем инишку под текущее время $cell = explode(" ",$row); $time = time() - intval($cell[0]); if(intval($cell[1])>$time)$rows[] = trim($row); if($cell[0] == $_GET['rtime'] and intval($cell[1])>$time)$_GET['img'] = trim($cell[2]); } } $img = null; if(substr($folder,-1) != '/') { $folder = $folder.'/'; } if(isset($_GET['img'])) { $imageInfo = pathinfo($_GET['img']); if( isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) && file_exists( $folder.$imageInfo['basename'] ) ) { $img = $folder.$imageInfo['basename']; } } else { $fileList = array(); $handle = opendir($folder); while( false !== ( $file = readdir($handle) ) ) { $file_info = pathinfo($file); if( isset( $extList[ strtolower( $file_info['extension'] ) ] ) ) { $fileList[] = $file; } } closedir($handle); if (count($fileList) > 0) { $imageNumber = time() % count($fileList); $img = $folder.$fileList[$imageNumber]; } } if ($img!=null) { // Add-on by FatCat: Забираем новое имя файла для ротации по времени if( isSet($_GET['rtime']) and !isset($_GET['img']) ) { $rows[] = intval($_GET['rtime'])." ".time()." ".$fileList[$imageNumber]; $rows = implode(PHP_EOL,$rows); $fh = fopen($folder."/rotate.php.ini", "w"); fwrite($fh, $rows); fclose($fh); } $imageInfo = pathinfo($img); $contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ]; header ($contentType); readfile($img); } else { if ( function_exists('imagecreate') ) { header ("Content-type: image/png"); $im = @imagecreate (100, 100) or die ("Cannot initialize new GD image stream"); $background_color = imagecolorallocate ($im, 255, 255, 255); $text_color = imagecolorallocate ($im, 0,0,0); imagestring ($im, 2, 5, 5, "IMAGE ERROR", $text_color); imagepng ($im); imagedestroy($im); } } ?> Ссылка на комментарий Поделиться на других сайтах Прочее
GhosTama Опубликовано 23 Июня 2009 Автор Жалоба Поделиться Опубликовано 23 Июня 2009 хм приогромнейшие спасибо не думал что так быстро помогут Ссылка на комментарий Поделиться на других сайтах Прочее
GhosTama Опубликовано 23 Июня 2009 Автор Жалоба Поделиться Опубликовано 23 Июня 2009 это */ //$folder = '.'; // Для IPB директории аплоадсов можно проще: $folder = $_SERVER['DOCUMENT_ROOT']."/uploads"; /*сменил на это:*/ $folder = '.'; // Для IPB директории аплоадсов можно проще: //$folder = $_SERVER['DOCUMENT_ROOT']."/uploads"; /* дабы скрипт лежит в папке с картинкамитак же картинки присутствуют рядом с фалом rotate.php открываю свою страничку вставляю код:<img src="include/rotate.php?rtime=600" />и ничего не происходит(даже если просто прописываю:<img src="include/rotate.php" /> странно или я что то упустил? Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 23 Июня 2009 Жалоба Поделиться Опубликовано 23 Июня 2009 Скрипту должны быть разрешены чтение и запись в директорию с имиджами.жосткий скрипт) его надо еще понаблюдать и помоделировать Ссылка на комментарий Поделиться на других сайтах Прочее
GhosTama Опубликовано 23 Июня 2009 Автор Жалоба Поделиться Опубликовано 23 Июня 2009 (изменено) ХМ нет извиняюсь все ок над было чуть подождать счас проверяю все вроде пока работает как надо его надо еще понаблюдать и помоделироватьхех былоб кому интерсено и былоб у коголибо время)у всех дачи отдых и все тому подобное в общем мало кому счас до кода есть время) Изменено 23 Июня 2009 пользователем GhosTama Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 23 Июня 2009 Жалоба Поделиться Опубликовано 23 Июня 2009 завтра теория электросвязи, какой там мод Ссылка на комментарий Поделиться на других сайтах Прочее
idTails Опубликовано 23 Июня 2009 Жалоба Поделиться Опубликовано 23 Июня 2009 А у меня завтра типа серьёзный разговор с деканом ))) Ссылка на комментарий Поделиться на других сайтах Прочее
-Lo.RD- Опубликовано 17 Июля 2010 Жалоба Поделиться Опубликовано 17 Июля 2010 Вопрос, почему при обновлении станицы выдает "IMAGE ERROR"?? Ссылка на комментарий Поделиться на других сайтах Прочее
-Lo.RD- Опубликовано 17 Июля 2010 Жалоба Поделиться Опубликовано 17 Июля 2010 Извиняюсь, разобрался. Просто нужно что бы картинки были с английскими названиями. Ссылка на комментарий Поделиться на других сайтах Прочее
-Lo.RD- Опубликовано 25 Июля 2010 Жалоба Поделиться Опубликовано 25 Июля 2010 Другой вопрос: как доработать что бы через определенные промежутки времени появлялась определенная для этого промежутка времени картинка. Например каждые 6 часов. Вначале ночная, утренняя, дневная и вечерняя картинки, затем снова по кругу. Ссылка на комментарий Поделиться на других сайтах Прочее
Васк Опубликовано 14 Августа 2010 Жалоба Поделиться Опубликовано 14 Августа 2010 Плюсую -Lo.RD- очень надо сделать смену картинок каждые 6часов. Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения