PDA

Просмотр полной версии : PHP ресайз не показывает размер фаила


CREDO
27.02.2006, 21:33
Люди помогите с пхп.

Я сделал пхп с ресайзом картинок.
Гружу их фо флешь, но flash не видит исходного размера фаила из за этого невозможно сделать нормальный прелоадер.

this.createEmptyMovieClip("loader_mc",0)
// Прелоадер:
var loads:MovieClipLoader = new MovieClipLoader();
var listener:Object = {};
loads.addListener(listener);
listener.onLoadProgress = function(loader_mc:MovieClip, a:Number, b:Number):Void {
var c:Number = a/b;
trace(a)// выдаёт 0 так как не видит.
// b - сколько загрузилось
// a - общий вес
preloader_mc.line_mc._xscale = c*100;
preloader_mc.percent_txt.text = Math.floor(c*100);
};
listener.onLoadComplete = function():Void {
preloader_mc._visible = false;
};
loads.loadClip("http://www.redflame.ru/Photo/Kirill/Resize.php?f=142.jpg&w=500", loader_mc)

вот.


А вот и сам PHP
<?php
header("Content-type: image/jpeg");
if (!isset($q)) $q = 100;
$src = imagecreatefromjpeg($f);
$w_src = imagesx($src);
$h_src = imagesy($src);
if ($w_src != $w)
{
if ($w>100)
{
$ratio = $w_src/$w;
$w_dest = round($w_src/$ratio);
$h_dest = round($h_src/$ratio);
$dest = imagecreatetruecolor($w_dest,$h_dest);
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
}
if ($w<101)
{
$dest = imagecreatetruecolor($w,$w);
if ($w_src>$h_src)
imagecopyresampled($dest, $src, 0, 0, round((max($w_src,$h_src)-min($w_src,$h_src))/2), 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
if ($w_src<$h_src)
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
if ($w_src==$h_src)
imagecopyresampledкуышяув($dest, $src, 0, 0, 0, 0, $w, $w, $w_src, $w_src);
}
imagejpeg($dest,'',$q);
imagedestroy($dest);
imagedestroy($src);
}
else
{
readfile($f);
}
?>

Usnul
01.03.2006, 04:50
передавай размер отдельно и делай не getBytesTotal а то число которое ты передаешь.

CREDO
01.03.2006, 09:57
как передать?

Antares
01.03.2006, 15:53
Так же, как обычно возвращаешь переменные в ответ на запрос. echo.

Crazy
01.03.2006, 16:00
Я сделал пхп с ресайзом картинок.
Гружу их фо флешь, но flash не видит исходного размера фаила из за этого невозможно сделать нормальный прелоадер.

Выдать заголовок Content-Length, как то и рекомендует стандар.