Ich habe einen kleinen Codeausschnitt beigefügt, der aus einem Zip-Archive, welches vom user hochgeladen wurde die .jpg Dateien in einem Ordner abspeichern soll und auch ein Thumbnail erzeugt. Funktioniert soweit auch, bis daruaf, dass manche Bilder nicht richtig abgespeichert werden, d.h. die Datei wird angelegt, aber der Inhalt anscheinend nicht rein geschrieben wird... Bei einem Archive mit ca. 15 Bildern passiert dies ca. 2-3 mal... meist beim letzten Bild...
Woran kann dies liegen? (Die Thumbnails der betroffenen Bilder werden alleridngs perfekt erzeugt...) Das ist ja das paradoxe, hat jemand eine Idee?
Woran kann dies liegen? (Die Thumbnails der betroffenen Bilder werden alleridngs perfekt erzeugt...) Das ist ja das paradoxe, hat jemand eine Idee?
Code:
if($_POST['group'] != '')
{
if(isset($_FILES["zip_file"]) && $_FILES["zip_file"]['name'] != '')
{
if($_FILES["zip_file"]['error'] == UPLOAD_ERR_OK)
{
$zip = zip_open($_FILES["zip_file"]['tmp_name']);
while ($zip_entry = zip_read($zip))
{
$time = time()+mt_rand(1,100);
$name = ABS_HOME.'upload/img_'.$time.'.jpg';
zip_entry_open($zip, $zip_entry, 'r');
$fopen = fopen(ABS_HOME.'upload/img_'.$time.'.jpg', 'w');
fwrite($fopen, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)));
fclose($fopen);
zip_entry_close($zip_entry);
mysql_query("INSERT INTO bilder (name, gruppe) VALUES ('img_$time.jpg', '".$_POST['group']."')");
// Thumbnail erzeugen
$grafik = $name;
$werte = getimagesize($grafik);
$breite = $werte[0];
$hoehe = $werte[1];
// Neue Werte festlegen
if($breite > $hoehe)
{
$breite_neu = $image_breite;
$skal = $breite/$breite_neu;
$hoehe_neu = intval($hoehe/$skal);
}
else
{
$breite_neu = $image_breite2;
$skal = $breite/$breite_neu;
$hoehe_neu = intval($hoehe/$skal);
}
$bild = imagecreatefromjpeg($grafik);
$bild_neu = imagecreatetruecolor($breite_neu, $hoehe_neu);
imagecopyresized($bild_neu, $bild, 0, 0, 0, 0, $breite_neu, $hoehe_neu, $breite, $hoehe);
imagejpeg($bild_neu, ABS_HOME.'upload/img_'.$time.'_small.jpg', 80);
imagedestroy($bild);
imagedestroy($bild_neu);
}
zip_close($zip);
move_uploaded_file($_FILES["zip_file"]['tmp_name'], $name);
}
}
$meldung = 'Alle Bilder wurden hochgeladen!';
$ew = '?section='.$sec;