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

Форум PHP

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

 

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

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

тема: Проблема в моем скрипте или в движке для браузера WebKit?
 
 автор: kokos   (07.08.2009 в 18:11)   письмо автору
 
 

Здравствуйте!

Как-то давно уже написал скриптик, который позволяет выводить на экран уменьшенные картинки для предпросмотра. Суть работы скрипта проста до безобразия: При обращении браузера к физически несуществующей картинке по адресу:
http://school13nv.ru/uploads/images/news_images/miniatures/80/1aug2009-01.JPG

файл ошибки 404.php заданный при помощи .htaccess создает миниатюру этой картинки из реально существующего файла:
http://school13nv.ru/uploads/images/news_images/1aug2009-01.JPG

Листинг 404.php:

<?
if (function_exists("apache_lookup_uri")) header("HTTP/1.1 200 OK");
header("Status: 200 OK");
// Думается мне, что загвоздка в этих двух строках. Все, что ниже - работает. =)

$uri $_SERVER['REQUEST_URI'];
$a explode("/",$uri);
if(isset(
$a[count($a)-3]))if($a[count($a)-3]=='miniatures'){
$res $a[count($a)-2];
$source_name ".".str_replace($a[count($a)-3]."/".$a[count($a)-2]."/","",$uri);
$arr1 explode("/",$source_name);
$arr2 explode(".",$arr1[count($arr1)-1]);
$img_id $arr2[0];

if (
is_file($source_name)) {
        
$size getimagesize($source_name);
        if(
$size[0]>$size[1]){
            
$dest_width $res;
            
$ratio $size[0]/$res;
            
$dest_height intval($size[1]/$ratio);
        }
        else{
        
$dest_height $res;
        
$ratio $size[1]/$res;
        
$dest_width intval($size[0]/$ratio);
        }
        
Header("Content-type: image/jpg");
        
$src_img imagecreatefromjpeg($source_name); 
        
$im imagecreatetruecolor($dest_width,$dest_height); 
        
imagecopyresampled($im$src_img0000$dest_width$dest_height$size[0], $size[1]);                 
                
ImageJpeg($im);
                
imagedestroy($im); 
}
exit();
}
?>

До недавнего времени пользовался одним только огнелисом и проверял работоспособность этого скрипта только на нем, на ехпролере и вроде на опере тоже работало... Да. Точно...

Суть проблемы такова:
Недавно решил скачать и посмотреть браузер Google Chrome, написанный на движке WebKit. И наткнулся на проблему: при открытии страниц, содержащих уменьшенные моим скриптом картинки, хром показывает фигу. Хотя если нажмакать правой по рисунку, которого типа физически нет, и жмакнуть "Открыть рисунок в новой вкладке" рисунок будет открыт... Все мои расписульки сводятся к вопросу, обозначенному в названии темы.

Буду очень признателен за умные мысли и обоснованные обвинения в кривизне рук.=)

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

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