| Autor | Zpráva | ||
|---|---|---|---|
| voznix Profil |
Dobrý den, mám administraci a tam mám uploadování obrázků. potřebuji při uploadu udělat zmenšeninu. mám na to script:
<?
function Resizer(
$filename, //cesta k souboru, ktery chcete zmensit
$copypath, //cesta, kam zmenseny soubor ulozit
$MaxWidth, //maximalni sirka zmenseneho obrazku
$MaxHeight) //maximalni vyska zmenseneho obrazku
{
//zjistime puvodni velikost obrazku
list($OrigWidth, $OrigHeight)
= getimagesize($filename);
//hodnota 0 v parametrech MaxWidth resp. MaxHeight znamena,
//ze sirka resp. vyska vysledku muze byt libovolna
if ($MaxWidth == 0)
$MaxWidth = $OrigWidth;
if ($MaxHeight == 0)
$MaxHeight = $OrigHeight;
//nyni vypocitam pomer zmenseni
$pw = $OrigWidth / $MaxWidth;
$ph = $OrigHeight / $MaxHeight;
if ($pw > $ph)
$p = $pw;
else
$p = $ph;
if ($p < 1)
$p = 1;
//v p ted mame pomer pro zmenseni
//vypocitame vysku a sirku zmenseneho obrazku
$NewWidth = (int)$OrigWidth / $p;
$NewHeight = (int)$OrigHeight / $p;
//vytvorime novy obrazek pozadovane vysky a sirky
$image_p = imagecreatetruecolor($NewWidth, $NewHeight);
//otevreme puvodni obrazek se souboru
$image = imagecreatefromjpeg($filename);
//a okopirujeme zmenseny puvodni obrazek do noveho
imagecopyresampled($image_p,
$image, 0, 0, 0, 0,
$NewWidth, $NewHeight,
$OrigWidth, $OrigHeight);
//a ulozime
imagejpeg($image_p, $copypath, 100);
}
?>a pak mám v uploadu todle: <? Resizer("$soubor_name","maly_$soubor_name",50,50); ?>funguje mi to ale když jich potřebuju uploadovat 20, a nakopíruju todle 20x, tak se mi vykoná jen uploadování, ale sekne se to při tvoření obrázku a nevytvoří se ani jeden ani neproběhnou scripty za tím. Nevíte, čím to může být? |
||
| Stromik Profil * |
#2 · Zasláno: 14. 11. 2008, 13:16:30
setTimelimit(0);
nebo memory limit.. |
||
| voznix Profil |
#3 · Zasláno: 14. 11. 2008, 14:24:18
stále nefunguje...
|
||
| bohyn Profil |
#4 · Zasláno: 14. 11. 2008, 15:05:08
Pridej na konec fce:
imagedestroy($image); imagedestroy($image_p); GD knihovna je pomerne narocna na pamet takze je treba uvolnovat pamet. |
||
| voznix Profil |
#5 · Zasláno: 14. 11. 2008, 16:00:01
Nakonec každého <? Resizer("$soubor_name","maly_$soubor_name",50,50); ?> ???
|
||
| bohyn Profil |
#6 · Zasláno: 14. 11. 2008, 16:10:31
na konec
function resizer() {
...
imagedestroy($image);
imagedestroy($image_p);
} |
||
|
Časová prodleva: 4 dny
|
|||
| voznix Profil |
#7 · Zasláno: 18. 11. 2008, 17:20:24
bohužel stále nic. Prostě se jenom nahrajou obrázky na server, ale už se nevytvoří miniatury a nevloží se do databáze data. už nevím
|
||
| bohyn Profil |
#8 · Zasláno: 18. 11. 2008, 17:49:08
A kdyz zapnes zobrazovani chyb tak taky nic?
ini_set("error_reporting", E_ALL & ~E_NOTICE);
ini_set("display_errors", "on"); |
||
| srigi Profil |
#9 · Zasláno: 18. 11. 2008, 17:55:37
voznix
Ak by si s tym nepohol, skus pouzit overenu triedu na resize. |
||
| voznix Profil |
#10 · Zasláno: 18. 11. 2008, 20:54:40
tak jsem zkusil oboje, ale nic neuspělo. Žádná chyba nevyskočila, to od srigi dopadlo tak, že se nic nenačetlo. Jen bílá prázdná stránka. Zkusím ten script napsat znovu:(
|
||
| voznix Profil |
#11 · Zasláno: 19. 11. 2008, 17:48:59 · Upravil/a: voznix
už to funguje, děkuji
|
||
|
Časová prodleva: 17 let
|
|||
0