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

Форум PHP

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

 

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

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

тема: Создаются 2 файла вместо 1
 
 автор: stalk3r   (08.04.2007 в 13:22)   письмо автору
 
 


        $code = array(rand(0, 9), rand(0, 9), rand(0, 9), rand(0, 9), rand(0, 9));
        $path = '/tmp/defimgs/'.implode('', $code).'.jpg';
        if ($caching && file_exists($path)) {
            header("Content-type: image/jpg");
            echo file_get_contents($path);
        } else {
            //## Создаём картинку
            $img = imagecreate(200, 50);
            imagefill($img, 0, 0, imagecolorallocate($img, 255, 255, 255));
            $fc = imagecolorallocate($img, 85, 135, 195);
            //## Цвета для шумов
            $nc['0'] = imagecolorallocate($img, 000, 000, 255);
            $nc['1'] = imagecolorallocate($img, 000, 255, 000);
            $nc['2'] = imagecolorallocate($img, 000, 255, 255);
            $nc['3'] = imagecolorallocate($img, 255, 000, 000);
            $nc['4'] = imagecolorallocate($img, 255, 000, 255);
            $nc['5'] = imagecolorallocate($img, 255, 255, 000);
            for ($i = 0; $i < 5; $i++)
            {
                for ($j = 1; $j < 50; $j++)
                    imagesetpixel($img, rand(1, 200), rand(1, 50), $nc[$i]);
                imagettftext($img, 25, rand(-15, 15), $i*35+25, 40, $fc , '/res/fonts/font.ttf', $code[$i]);
            }
            header("Content-type: image/jpg");
            imagejpeg($img);
            if ($caching)
                imagejpeg($img, $path);
            imagedestroy($img);
        }


Здесь создаётся защитное изображение, если переменная caching = TRUE, оно кэшируется в tmp/defimgs/nnnnn.jpg Однако почему то, там создаётся 2 изображения (в tmp/defimgs/...) с 2мя разными кодами, хотя на экран выводится одно.

   
 
 автор: stalk3r   (10.04.2007 в 10:40)   письмо автору
 
   для: stalk3r   (08.04.2007 в 13:22)
 

Ну может быть ответит кто?)

   
 
 автор: Trianon   (10.04.2007 в 11:12)   письмо автору
 
   для: stalk3r   (10.04.2007 в 10:40)
 

Файлов создается два потому, что пришло два запроса. Один за другим.
Изображений выводится одно, поскольку окно браузера - одно.

Первым запросом может быть, например, HEAD

Почему Вас это беспокоит?

   
 
 автор: stalk3r   (10.04.2007 в 12:19)   письмо автору
 
   для: Trianon   (10.04.2007 в 11:12)
 

Не понял, почему 2 запроса?
Я обращаюсь к скрипту, где написан этот код, я делаю это 1 раз и это делаю только я, т.к. это локалхост)
Нет никакого 2го запроса

   
 
 автор: Trianon   (10.04.2007 в 12:31)   письмо автору
 
   для: stalk3r   (10.04.2007 в 12:19)
 

Не было б запроса - не возник бы файл. Так что запрос есть, можете не сомневаться.
Откуда запрос - вопрос пятнадцатый.
Я, например, разглядывая логи, очень часто вижу повторные запросы, когда запускаю скрипты из-под phpXpEdit.

   
Rambler's Top100
вверх

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