Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Скрипт для кеширования картинок
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Скрипт для кеширования картинок

Страниц (1): [1]
 

1. Virgin - 05 Сентября, 2011 - 11:34:17 - перейти к сообщению
Привет всем!
Помогите со скриптом. Во общем использую данный скрипт для кеширования картинок при рендеринге карты из ГИС сервера. Скрипт проверяет есть ли запрашиваемый файлик на диске, если есть то считывает его и с помощью Openlayers отрисовывает его в браузере, если нет создает и кидает в каталог:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. //echo $_SERVER["QUERY_STRING"];
  4.  
  5. header("Cache-Control: public");
  6. header("Expires: " . date("r", time() + 3600));
  7.  
  8. if(  file_exists('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png') )
  9. {
  10. header("Content-type: image/png");
  11. readfile('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png');
  12. }
  13. else
  14. {              
  15. $code = file_get_contents('http://myserver.com/fcgi-bin/mapserv.exe?MAP=C:/ms4w/ms4w/apps/maps/rus_vmap0.map&'.$_SERVER["QUERY_STRING"]);
  16. $file = fopen ('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png',"w+");
  17. fputs ( $file, $code);
  18. fclose ($file);
  19. header("Content-type: image/png");
  20. readfile('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png');
  21. }
  22.  
  23. //readfile('./WMS-C-Cache/globo.png');  
  24. ?>
  25.  

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

 

Powered by ExBB FM 1.0 RC1