kicaj
15.09.2003, 21:08:40
Stworzylem sobie skrypt do miniatyruzowania zdjec (opsi gdzies tesh jest na tym forum), dziala wszystko jak nalezy...
Ale wystepuje dziwny blad:
Dodaje zdjecie, one sie zmniejsza do ustalnoych wymiarów, i zapisuje sie na dysku, ale jak chcem zrobic tak jakby uaktualnienie zdjecie (jeszcze raz dodaje inne zdjecie), to wyskakuje mi te same... ;/
Wiec usunalem stare zdjecie i dodaje nowe - calkiem inne, ale wyskakuje ze zdhecue sue skopiowalo, ale jest te same ;/
I u mnie i na serwerze tak sie dzieje, nie wiem o co chodzi...
adwol
15.09.2003, 21:38:34
Pokaż jakiś kawałek kodu, bo tak to trzebaby być wróżką.
kicaj
15.09.2003, 21:42:40
dam caly moj kod, poprostu chce zeby przy ponownym dodawaniu zdjecia zastapic stare...
[php:1:62999e3c7c]<?php
$zdjecie1 = "zdjecia/$id.jpg";
$zdjecie2 = "zdjecia/$id.gif";
if(isset($_REQUEST['zdjecie_x'])) {
echo "<br><table align="center" border="0" cellpadding="0" cellspacing="1" width="95%" bgcolor="$table3">
<tr>
<td><table align="center" border="0" cellpadding="1" cellspacing="0" width="100%">
<tr>
<td align="center" valign="top" bgcolor="$table4">";
if(is_file($zdjecie1)) {
unlink($zdjecie1);
} elseif(is_file($zdjecie2)) {
unlink($zdjecie2);
}
if($obraz == "") {
echo "Nie wybrano <b>zdjęcia</b>!";
} elseif(!eregi('.*.(jpg|gif)$', $obraz_name)) {
echo "Nie poprawny format <b>zdjęcie</b>!";
} else {
if(eregi('.*.jpg$', $obraz_name)) {
$im_src=@ImageCreateFromJPEG("$obraz");
} else {
$im_src=@ImageCreateFromGIF("$obraz");
}
$srcx=@ImagesX($im_src);
$srcy=@ImagesY($im_src);
$x=250;
$y=250;
if(($srcx > $x) || ($srcy > $y)) {
if($srcy > $srcx) {
$ile = $srcy/$y;
$szerokosc = $srcx/$ile;
$wysokosc = $srcy/$ile;
} else {
$ile = $srcx/$x;
$szerokosc = $srcx/$ile;
$wysokosc = $srcy/$ile;
}
$im_doc=@ImageCreate($szerokosc,$wysokosc);
@ImageCopyResized($im_doc,$im_src,0,0,0,0,$szerokosc,$wysokosc,$srcx,$srcy);
if(eregi('.*.jpg$', $obraz_name)) {
ImageJPEG($im_doc,"zdjecia/$id.jpg");
} else {
ImageGIF($im_doc,"zdjecia/$id.gif");
}
} else {
echo "//kopiuj_orginal";
}
echo "//miniaturyzowanie zakonczone";
}
echo " </td>
</tr>
</table>
</td>
</tr>
</table>";
}
if($usun) {
if(is_file($zdjecie1)) {
unlink($zdjecie1);
} elseif(is_file($zdjecie2)) {
unlink($zdjecie2);
}
echo "<br><table align="center" border="0" cellpadding="0" cellspacing="1" width="95%" bgcolor="$table3">
<tr>
<td><table align="center" border="0" cellpadding="1" cellspacing="0" width="100%">
<tr>
<td align="center" valign="top" bgcolor="$table4">Zdjęcie zostało usunięte!</td>
</tr>
</table>
</td>
</tr>
</table>";
}
if(is_file($zdjecie1) || is_file($zdjecie2)) {
echo "<br><table border="0" align="center" width="*" bgcolor="$table4">
<tr>
<td align="center" bgcolor="$table5">
<table border="0" width="*" bgcolor="$table4">
<tr>
<td align="center" bgcolor="$table5">";
if(is_file($zdjecie1)) {
echo "<img src="$zdjecie1" align="center" border="1">";
} elseif(is_file($zdjecie2)) {
echo "<img src="$zdjecie2" align="center" border="1">";
}
echo " </td>
</tr>
</table>
</td>
</tr>
</table>
[ <a href="index.php?akcja=zdjecie&usun=$id">usuń aktualne zdjęcie</a> ]<br><br><br>";
}
echo "<br><table align="center" border="0" cellpadding="0" cellspacing="1" width="95%" bgcolor="$table3">
<tr>
<td><table align="center" border="0" cellpadding="1" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top" bgcolor="$table4"><br><center>";
if(is_file($zdjecie1) || is_file($zdjecie2)) {
echo "Zamień aktualne zdjęcie na nowe";
} else {
echo "Dodaj nowe zdjęcie";
}
echo " <form method="post" action="index.php?akcja=zdjecie" enctype="multipart/form-data">
<input type="file" name="obraz"><br><br>
<input type="image" name="zdjecie" src="img/$styl/przycisk_dodaj.gif" style="border: 0">
</form>
</td>
</tr>
</table>
</td>
</tr>
</table><br>";
?>[/php:1:62999e3c7c]
...moglem wyrzucic kod html, ale moze ktos bedzie tez chcial go wykorzystac...
kicaj
15.09.2003, 22:16:00
chyba umiem po polsku zadac juz pytanie...
Przy ImageCreate(); robi sie obraz, ale jak robie nowszy to tego nie zastepuje, tylko sie takjakby powtaza, co zrobic zeby zastepowal stary, a nie przypomina mi poprzeni...
Moze ImageDestroy(); ale nie wiem dokladnie o co w niej chodzi...