Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт для кеширования картинок
 
 автор: Silentium   (06.09.2011 в 11:43)   письмо автору
 
 

Привет всем!
Помогите со скриптом. Во общем использую данный скрипт для кеширования картинок при рендеринге карты из ГИС сервера. Скрипт проверяет есть ли запрашиваемый файлик на диске, если есть то считывает его и с помощью Openlayers отрисовывает его в браузере, если нет создает и кидает в каталог:
<?PHP
//echo $_SERVER["QUERY_STRING"];
 
header("Cache-Control: public");
header("Expires: " date("r"time() + 3600));
 
if(  
file_exists('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png') )
{
header("Content-type: image/png");
readfile('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png');
}
else
{              
$code file_get_contents('http://myserver.com/fcgi-bin/mapserv.exe?MAP=C:/ms4w/ms4w/apps/maps/rus_vmap0.map&'.$_SERVER["QUERY_STRING"]);
$file fopen ('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png',"w+");
fputs $file$code);
fclose ($file);
header("Content-type: image/png");
readfile('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png');
}
 
?>

Результатом является каталог на диске,куда скопом кидаются файлики png 256x256. Затем в браузере складывается большое изображение из мелких "мозайка".
Неудобство в том, что в каталоге тысячи файликов и разобраться в них очень сложно, поэтому нужно чтоб при создании картинок на диске скрипт сортировал картинки по каталогам(допустим по дате или какому нибудь из передаваемых параметров).
Сам я не особо силен в рнр поэтому нужна ваша помощь разобраться.

  Ответить  
 
 автор: cheops   (06.09.2011 в 11:51)   письмо автору
 
   для: Silentium   (06.09.2011 в 11:43)
 

Идея понятна, не понятен вопрос. Что вызывает сложность и что нужно сделать? Нужно превратить один большой каталог в несколько или придумать такую систему именования файлов, чтобы их список можно было легко отсортировать по разным критериям, используя разные части имени файла?

  Ответить  
 
 автор: Silentium   (09.09.2011 в 11:17)   письмо автору
 
   для: cheops   (06.09.2011 в 11:51)
 

Именно так!
Я знаю что в кеш-программах обычно это выглядит как каталог
10-9-8-...-1, где цифры это определеные зумы, при увеличении изображения. Правда остается вопрос насколько это понизит производительность ведь файлики(тайлы) будут вложены по нескольку раз в папках и подпапках

  Ответить  
 
 автор: Гость   (06.09.2011 в 12:29)   письмо автору
 
   для: Silentium   (06.09.2011 в 11:43)
 

Я бы посоветовал проверять получаемые значения от пользователя, так как изменив $_GET["BBOX"] можно прочитать не только те файлы который вы ожидаете.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования