oppa
Mitglied
Nabend,
ich habe ein großes Problem:
Ich habe ein Registrierscript, bei dem man dazu auch noch ein Bild von sich hochladen kann.
Viele der Nutzer haben nunmal nicht gerade die Super PC Kenntnisse, somit sollte es möglich sein relativ große Bilder hochzuladen.
Das ist ja soweit kein Problem, nur möchte ich quasi das Original hochladen. aus diesem dann quasi ein Thumb erstellen und ein "großes Bild" (400px). Das "Riesige" Original lösche ich danach wieder.
Hier mal der Code:
register.php (nur der wichtige Auszug)
Und hier dann die thumbnails_erstellen.php:
Vielleicht könnt ihr mir helfen ? Habe ich was nicht bedacht ?
Meistens hört das Script nach einiger zeit auf ? Liegt es eventuell an den Daten die der Server durch die Bilder verarbeiten muss ?
Vielen Dank,
der verzweifelte Alex
ich habe ein großes Problem:
Ich habe ein Registrierscript, bei dem man dazu auch noch ein Bild von sich hochladen kann.
Viele der Nutzer haben nunmal nicht gerade die Super PC Kenntnisse, somit sollte es möglich sein relativ große Bilder hochzuladen.
Das ist ja soweit kein Problem, nur möchte ich quasi das Original hochladen. aus diesem dann quasi ein Thumb erstellen und ein "großes Bild" (400px). Das "Riesige" Original lösche ich danach wieder.
Hier mal der Code:
register.php (nur der wichtige Auszug)
PHP:
$bild_id=time();
$bild_name=$bild_id.".jpg";
if(copy($_FILES["reg_foto"]["tmp_name"], "bilder/".$bild_name)) {
// Thumbnails erstellen
include("scripts/thumbnails_erstellen.php");
// Nachdem Thumbnails erstellt wurden, das Original Bild löschen
unlink("bilder/".$bild_name);
}
Und hier dann die thumbnails_erstellen.php:
PHP:
// Thumbnail erstellen
//////////////////////
// Anmerkungen:
//
// $dir = Pfad für das Verzeichnis, in dem sich das upgeloadete Bild befindet
// $filename = dateiname.jpg
$dir="bilder/";
$filename=$bild_name;
$filename2=$bild_name;
// Größe des Bildes auslesen
$size = getimagesize("$dir$filename");
$width = $size[0];
$height = $size[1];
// Breite des Thumbnails festlegen (Höhe wird automatisch angepasst)
$width_tn = 450;
$height_tn = intval($height * $width_tn / $width);
// Bei GD < 2.0.1: ImageCreateTrueColor -> ImageCreate, ImageCopyResampled -> ImageCopyResized
$picture = ImageCreateFromJPEG("$dir$filename");
$picture_tn = ImageCreateTrueColor($width_tn,$height_tn);
ImageCopyResampled($picture_tn,$picture,0,0,0,0,$width_tn,$height_tn,$width,$height);
// Endung "_tn" bei Dateiname hinzufügen, vor ".jgp"
$filename = explode (".", $filename);
$tn = "_big.";
// Thumbnail in $dir mit angepasstem $filename speichern, JPG Qualität: 95
ImageJPEG($picture_tn,"$dir$filename[0]$tn$filename[1]",95);
// Temporären Speicher auf Server wieder frei geben
ImageDestroy($picture);
ImageDestroy($picture_tn);
// Breite des Thumbnails festlegen (Höhe wird automatisch angepasst)
$width_tn = 110;
$height_tn = intval($height * $width_tn / $width);
// Bei GD < 2.0.1: ImageCreateTrueColor -> ImageCreate, ImageCopyResampled -> ImageCopyResized
$picture = ImageCreateFromJPEG("$dir$filename2");
$picture_tn = ImageCreateTrueColor($width_tn,$height_tn);
ImageCopyResampled($picture_tn,$picture,0,0,0,0,$width_tn,$height_tn,$width,$height);
// Endung "_tn" bei Dateiname hinzufügen, vor ".jgp"
$filename2 = explode (".", $filename2);
$tn = "_tn.";
// Thumbnail in $dir mit angepasstem $filename speichern, JPG Qualität: 95
ImageJPEG($picture_tn,"$dir$filename2[0]$tn$filename2[1]",95);
// Temporären Speicher auf Server wieder frei geben
ImageDestroy($picture);
ImageDestroy($picture_tn);
$thumb_bild = "$filename2[0]$tn$filename2[1]";
?>
Vielleicht könnt ihr mir helfen ? Habe ich was nicht bedacht ?
Meistens hört das Script nach einiger zeit auf ? Liegt es eventuell an den Daten die der Server durch die Bilder verarbeiten muss ?
Vielen Dank,
der verzweifelte Alex