Bilder Upload + Umbennen + Thumbnail geht nicht 100%

MC-René

Erfahrenes Mitglied
Hallo!

Habe dank dem Forum/Tutorials hier und dank :google: mir ein Bild-Upload-Umbenenn'-Thumbnailerstell-Script gebastelt:

PHP:
$file=$_POST['file'];
$id=$_POST['id'];
if ($ac2>="5") {

$verbindung=mysql_connect("xyz.xx..de",
  "sql123456789","Passwort") or die
  ("Keine Verbindung moeglich");
  mysql_select_db("db123456789") or die
  ("Die Datenbank existiert nicht");

$abfrage = "SELECT * FROM Einsatz WHERE ID='$id'"; 
$lesen = mysql_query($abfrage); 
while ($ergebnis=mysql_fetch_array($lesen)) 
  {    
   $datum=$ergebnis[Datum]; 
   $author=$ergebnis[Author]; 
   $bilder=$ergebnis[Bilder]; 
   $verz="/home/strato/www/ff/www.ffhostenbach.de/htdocs/bilder/einsatz/".$datum."-".$id;
   $verz2="/home/strato/www/ff/www.ffhostenbach.de/htdocs/bilder/einsatz/".$datum."-".$id."/thumbs";
   }

if (!file_exists($verz."/")) {mkdir ($verz); mkdir ($verz2);}

$tempname = $_FILES['file']['tmp_name']; 
$name = $_FILES['file']['name']; 

$type = $_FILES['file']['type']; 
$size = $_FILES['file']['size'];
}
else $err[] = "Nicht berechtigt ";
if ($ac2!=9) {if($size > "3000000") { 
    $err[] = "Die Datei welche Du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 3 MB!"; 
}}
if($type != "image/pjpeg" && $type != "image/jpeg") { 
$err[] = "Es dürfen nur Bilder im .jpeg/.jpg Format hochgeladen werden."; 
} 

$neuername="einsatz_".$datum."_".$id."_".$bilder.".jpg";
$neuername_t="einsatz_".$datum."_".$id."_".$bilder."_kl.jpg";

if(empty($err)) { 

//Thumbnail 100x100 (mit neuem Namen) erstellen
 $size=getimagesize($tempname); 
 $width=$size[0]; 
 $height=$size[1];  
 $newwidth = 100;
 $newheight= 100; 
 $oldimage=ImageCreateFromJPEG($tempname); 
 $newimage=ImageCreate($newwidth,$newheight); 
 ImageCopyResized($newimage,$oldimage,0,0,0,0,$newwidth,$newheight,$width,$height); 
 ImageJPEG($newimage,$neuername_t); 

// Bild umbenennen und speichern
    copy("$tempname", "$verz/$neuername"); 
    echo "Das Bild wurde erfolgreich hochgeladen!<BR><BR>";



//Bilder um 1 erhöhen
$bilderneu=$bilder + 1;
$abfrage="UPDATE einsatz SET Bilder='$bilderneu' WHERE ID='$id'";
$updaten=mysql_query($abfrage);



} 

else { 
    foreach($err as $error) 
    echo "<font color=\"#FF0000\"><font size=\"+1\">$error</font><br></font>"; 
}

Es wird die Datei hochgeladen, umbenannt und die Verzeichnisse korrekt erstellt; nur das Thumbnail wird nicht erstellt...

Ich finde keinen Fehler... Wer kann mir helfen...? :confused:

:)
 

MC-René

Erfahrenes Mitglied
Sorry, aber ich denker hier ist irgendwie, irgendwo was faul, weil das "normale" Bild wird ja korrekt hochgeladen und umbenannt:

PHP:
//Thumbnail 100x100 (mit neuem Namen) erstellen 
 $size=getimagesize($tempname);  
 $width=$size[0];  
 $height=$size[1];   
 $newwidth = 100; 
 $newheight= 100;  
 $oldimage=ImageCreateFromJPEG($tempname);  
 $newimage=ImageCreate($newwidth,$newheight);  
 ImageCopyResized($newimage,$oldimage,0,0,0,0,$newwidth,$newheight,$width,$height);  
 ImageJPEG($newimage,$neuername_t);

Kann mal jemand drübergucken! :confused:
 

soyo

Erfahrenes Mitglied
Also das Script was die Größe der Bilder ändert sollte so funktionieren. Der Fehler liegt in der Pfadangabe oder an der Dateirechteverteilung.

In dem Teil wo du das Bild erstellst hast du nur einen Dateinamen, soll das so sein? Pfadangabe?
 

MC-René

Erfahrenes Mitglied
Also das Script was die Größe der Bilder ändert sollte so funktionieren. Der Fehler liegt in der Pfadangabe oder an der Dateirechteverteilung.

In dem Teil wo du das Bild erstellst hast du nur einen Dateinamen, soll das so sein? Pfadangabe?


Also hier wird das Thumbnail erstellt und gespeichert (funktioniert net!):
PHP:
(...)
 $oldimage=ImageCreateFromJPEG($tempname);  
 $newimage=ImageCreate($newwidth,$newheight);  
 ImageCopyResized
($newimage,$oldimage,0,0,0,0,$newwidth,$newheight,$width,$height);  
 ImageJPEG($newimage,$neuername_t);

Und hier wird das (Ursprungs-) File, welches hochgeladen wurde einfach mit nem neuen Namen gespeichert (das funktioniert!):

PHP:
    copy("$tempname", "$verz/$neuername");  
    echo "Das Bild wurde erfolgreich hochgeladen!<BR><BR>";

Oder hab ich da was falsch verstanden...? :suspekt:


-->

Der Fehler liegt in der Pfadangabe oder an der Dateirechteverteilung.

Hmmm... Moment mal:
PHP:
ImageJPEG($newimage,$neuername_t);
Besser:
PHP:
ImageJPEG($newimage,"$verz2/$neuername_t");

Oder!?
 

soyo

Erfahrenes Mitglied
Hab eben das Thumbnail-Script bei mir getestet, es funktioniert.

Ich weiß nicht ob es mit dem Verzeichnis jetzt besser ist, funktioniert es denn? Es war nur ein möglicher Fehler.
 

MC-René

Erfahrenes Mitglied
Ich denke es liegt am Pfad, kanns leider erst später probieren...

Weil gemäß Script legt er das Thumbnail ins Root (wg. falschem Pfad); dort habe ich allerdings nicht geguckt obs da ist... :D

Aber danke schonmal...