Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: filesize() - проблемы с определением размера файла

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

kisin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://image-resize.ru/?33  
после уменьшения скрипт выдал:  
размер изображения 587 Кб.  
использую функцию filesize()
зашел по фтп в папку, где хранятся картинки, размер тот же.  
 
но при просмотре через браузер, свойства картинки: File Size - 142 KB (145 128 bytes)  
посмотрел специально сколько улетает траффика при открытии картинки - результат тот же, что и в браузере.
 
или это:  
Размер изображения до сжатия: 137 Кб. (0.134 Мб.)  
Размер изображения после сжатия: 317 Кб. (0.31 Мб.)  
Разрешение: 800x600 пикселей  
Ссылка на файл: http://image-resize.ru/?35  
 
на самом деле размер получившегося файла 77 KB.




за дубль /Cheery/

Всего записей: 613 | Зарегистр. 30-12-2003 | Отправлено: 08:25 24-04-2006 | Исправлено: Cheery, 08:34 24-04-2006
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kisin
www.php.net/filesize

Цитата:
Note: The results of this function are cached. See clearstatcache() for more details.

и потом.. будем гадать? что мы тебе тут без скрипта можем сказать?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 08:33 24-04-2006
kisin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 за дубль /Cheery/

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

Цитата:
и потом.. будем гадать? что мы тебе тут без скрипта можем сказать?  

а что тут гадать? сначало идет скрипт по загрузке и изменению разрешения картинки. и в самом конце определяем размер сохраненного файла ( echo filesize($saved_image); ). не знаю, какой тут может быть кэш..
 
если картинку сохранить, то у меня в винде размер файла оказывается точно таким же большим, хотя на самом деле он меньше. вообще не понимаю, что за фигня..

Всего записей: 613 | Зарегистр. 30-12-2003 | Отправлено: 09:24 24-04-2006 | Исправлено: kisin, 09:25 24-04-2006
Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Да, одного поста недостаточно.
Ещё раз просьба:скрипт можно?

----------
Damn Metal

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 17:34 24-04-2006
kisin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
<?php
        $allowed_types = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png');
//include('header');
include('include/upload.class');
include('include/count.class');
include('include/form.class');
 
        $extensions = null;
        if ($_FILES["myfile1"]["type"] == 'image/gif')
            $extensions = array('.gif', '.jpg', '.png');
        else if ($_FILES["myfile1"]["type"] == 'image/jpeg' || $_FILES["myfile1"]["type"] == 'image/pjpeg')
            $extensions = array('.jpg', '.gif', '.png');
        else
            $extensions = array('.png', '.gif', '.jpg');
 
 
    if($extensions[0] == '.gif')
      $img_src = imagecreatefromgif($_FILES["myfile1"]["tmp_name"]);
    elseif($extensions[0] == '.jpg')
      $img_src = imagecreatefromjpeg($_FILES["myfile1"]["tmp_name"]);
    else
        $img_src = imagecreatefrompng($_FILES["myfile1"]["tmp_name"]);
     
        // Now check the width/height
        list($width, $height, ,) = getimagesize($_FILES["myfile1"]["tmp_name"]);
 
    //resize and create the full picture  
     if ($width>$w OR $height>$h)
     {
       // If width is bigger than height
       if ($height<=$width)
          $ratio = $w/$width;
       else
          $ratio = $h/$height;
     }
     else
     {
        $ratio = 1;  // No resize
     }  
 
     $img_dest = imagecreatetruecolor(round($width*$ratio), round($height*$ratio));
     imagecopyresized($img_dest,$img_src,0,0,0,0,round($width*$ratio),round($height*$ratio),$width,$height);
     imagejpeg($img_dest, 'images/'.$count.'.jpeg', 100);
         include('header');
        echo 'Размер изображения до сжатия: '.round(filesize($_FILES["myfile1"]["tmp_name"])/1024).' Кб. ('.round(filesize($_FILES["myfile1"]["tmp_name"])/1048576, 3).' Мб.)<br>'."\n";
        echo 'Размер изображения после сжатия: '.round(filesize('images/'.$count.'.jpeg')/1024).' Кб. ('.round(filesize('images/'.$count.'.jpeg')/1048576, 3).' Мб.)<br>'."\n";
        echo 'Разрешение: '.round($width*$ratio).'x'.round($height*$ratio).' пикселей<br>'."\n";
         echo 'Ссылка на файл: <a href="http://image-resize.ru/?'.$count.'">http://image-resize.ru/?'.$count.'</a>';
         include('footer');
//include('footer');
?>

Всего записей: 613 | Зарегистр. 30-12-2003 | Отправлено: 22:27 24-04-2006
mainbord



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
заходите
http://forum.ru-board.com/topic.cgi?forum=72&bm=1&topic=1003#1




Тебе бан нужен? можем устроить /Cheery/

Всего записей: 90 | Зарегистр. 05-02-2006 | Отправлено: 22:46 24-04-2006 | Исправлено: Cheery, 22:54 24-04-2006
kisin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mainbord, я чет не понял..

Всего записей: 613 | Зарегистр. 30-12-2003 | Отправлено: 22:50 24-04-2006
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kisin
совет.. юзать imagecopyresampled
а насчет размеров.. попробуй, как и сказал выше, очищать кэш.. вполне вероятно, что при создании файла в imagejpeg используется эта функция
 
и потом.. довольно странно конвертить все в jpeg.. в нем, между прочим, прозрачность не учитывается.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:54 24-04-2006
kisin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а насчет размеров.. попробуй, как и сказал выше, очищать кэш.. вполне вероятно, что при создании файла в imagejpeg используется эта функция

попробуем
 

Цитата:
 довольно странно конвертить все в jpeg.. в нем, между прочим, прозрачность не учитывается.

а она мне не нужна. везде в интернете при выкладывании фотографий просят jpg. будем придерживаться универсального формата.

Всего записей: 613 | Зарегистр. 30-12-2003 | Отправлено: 23:37 24-04-2006
kisin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а насчет размеров.. попробуй, как и сказал выше, очищать кэш.. вполне вероятно, что при создании файла в imagejpeg используется эта функция

добавил в код перед определением размера файла:
clearstatcache();
не помогло. результат тот же.
 
может проблема на сервере? еще раз попробовал открыть рисунок в браузере, сохранил себе на диск, размер 77 Кб. захожу по фтп в папку на сервере, где хранятся рисунки, размер этого же изображения 316 Кб.

Всего записей: 613 | Зарегистр. 30-12-2003 | Отправлено: 09:17 25-04-2006
ManHunter



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ты наверное заходил через Total Commander, а он кеширует списки файлов в ftp каталогах, чтобы быстрее работалось.
Попробуй просто перечитать каталог (Ctrl+R).

----------
"На любое мое движение ваша реакция предусмотрена,
В лучшем случае - равнодушие, в худшем случае - патология..." (C) Егор Летов

Всего записей: 3107 | Зарегистр. 20-03-2004 | Отправлено: 14:12 25-04-2006
kisin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Ты наверное заходил через Total Commander, а он кеширует списки файлов в ftp каталогах, чтобы быстрее работалось.  
Попробуй просто перечитать каталог (Ctrl+R).

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

Всего записей: 613 | Зарегистр. 30-12-2003 | Отправлено: 19:58 25-04-2006
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kisin

Цитата:
нет, заходил чере CuteFTP. Что кешировать-то, создается новый файйл, сразу захожу и смотрю. тем более ошибается и CuteFTP и php, который определяет размер файла в каталоге..

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

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:04 25-04-2006 | Исправлено: Cheery, 21:09 25-04-2006
kisin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Всего записей: 613 | Зарегистр. 30-12-2003 | Отправлено: 22:56 25-04-2006 | Исправлено: kisin, 22:57 25-04-2006
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проверил локально под виндами.. да, размер после сжатия получается больше
под линухом.. собирал без gd
 
 
аха.. вот где собака порылась.. смотри, если делать запрос напрямик к картинке, то

Цитата:
+++GET 5+++
GET /images/35.jpeg HTTP/1.1
Host: image-resize.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
 
+++RESP 5+++
HTTP/1.1 200 OK
Date: Tue, 25 Apr 2006 19:22:46 GMT
Server: Apache/1.3.34 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.1 FrontPage/5.0.2.2635
Last-Modified: Sun, 23 Apr 2006 16:04:27 GMT
ETag: "738470-4f3d8-444ba58b"
Accept-Ranges: bytes
Content-Length: 324568
Connection: close
Content-Type: image/jpeg
 

а ну показывай как у тебя выводится картинка через запрос ?35 ??
где то ты нас дуришь..  

Цитата:
GET /?35 HTTP/1.1
Host: image-resize.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
Accept: image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
 
+++RESP 4+++
HTTP/1.1 200 OK
Date: Tue, 25 Apr 2006 19:20:56 GMT
Server: Apache/1.3.34 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.1 FrontPage/5.0.2.2635
X-Powered-By: PHP/4.4.1
Connection: close
Transfer-Encoding: chunked
Content-Type: image/jpeg
 


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:24 25-04-2006 | Исправлено: Cheery, 23:27 25-04-2006
diezel

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kisin
Попробуй imagedestroy() после обработки сохранения картинки.

Всего записей: 310 | Зарегистр. 10-02-2003 | Отправлено: 01:14 26-04-2006
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: filesize() - проблемы с определением размера файла


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru