crashx
Erfahrenes Mitglied
Wieder mal ich, mit meinem Mageren PHP Wissen.
Ok ich möchte Bilder hochladen, kopieren, die erste Kopie im Originalzustand sprich grösse belassen und in einen Ordner speichern den Pfad in eine DB schreiben
Die 2 Kopie möchte ich verkleinern und in einen anderen Ordner speichern, den Pfad in eine DB schreiben.
Das ganze zwecks thumbnail vorschau.
Die Theorie ist für mich auch noch Verständlich aber nun geht es an die umsetzung.
Folgendes habe ich zusammen mit Euch schon erarbeitet:
Bild hochladen, verkleinern, speichern, Pfad in MySql DB Schreiben.
Nun habe ich mich mit der Funktion imagecopy beschäftigt und herausgefunden das mich das leicht überfordert.
Deshalb hoffe ich von Euch wieder mal tatkräftig unterstüzt zu werden.
Hier was ich schon habe:
Ok ich möchte Bilder hochladen, kopieren, die erste Kopie im Originalzustand sprich grösse belassen und in einen Ordner speichern den Pfad in eine DB schreiben
Die 2 Kopie möchte ich verkleinern und in einen anderen Ordner speichern, den Pfad in eine DB schreiben.
Das ganze zwecks thumbnail vorschau.
Die Theorie ist für mich auch noch Verständlich aber nun geht es an die umsetzung.
Folgendes habe ich zusammen mit Euch schon erarbeitet:
Bild hochladen, verkleinern, speichern, Pfad in MySql DB Schreiben.
Nun habe ich mich mit der Funktion imagecopy beschäftigt und herausgefunden das mich das leicht überfordert.
Deshalb hoffe ich von Euch wieder mal tatkräftig unterstüzt zu werden.
Hier was ich schon habe:
PHP:
<?
include("dbconnect.php");
if (isset($_FILES))
{
for($i = 0; $i < count($_FILES['file']['tmp_name']); ++$i) //erzwingt das jede datei eine eindeutige zuweisung erhält [0], [1], [2], usw
{
$tempname = $_FILES['file']['tmp_name'][$i]; //temporärer name
$name = $_FILES['file']['name'][$i]; //entgültiger name
if (is_uploaded_file($tempname)) //lädt die temporäre datei hoch
{
$im_temp = imagecreatefromjpeg($tempname); //Ich gehe jetzt einfach mal davon aus das es JPEGs sind
$size = getimagesize("$tempname");
$height_orig = $size[1];
$width_orig = $size[0];
$height = 150;
$width = 200;
//Wobei mir hier nicht klar ist was in $width steht...
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
//Thumbnail-Rohling erstellen
$newImg = imagecreatetruecolor($width, $height);
//Das original Bild auf den Thumbnail kopieren
imagecopyresampled($newImg, $im_temp, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
//Den Thumbnail als $tempname in höchster Qualität speichern
imagejpeg($newImg, "$tempname", 100);
move_uploaded_file($tempname,"upload/images/$name"); //verschiebt die dateien in das verzeichnis, gibt der datei ihren entgültigen name.
}
}
$eintrag = "
INSERT INTO
`bilder`
SET
`pic1` = '".mysql_real_escape_string('upload/images/'.$_FILES['file']['name'][0])."',
`pic2` = '".mysql_real_escape_string('upload/images/'.$_FILES['file']['name'][1])."',
`pic3` = '".mysql_real_escape_string('upload/images/'.$_FILES['file']['name'][2])."'";
$eintragen = mysql_query($eintrag);
}
echo mysql_error();
?>