Hallo
ich habe grade den Fancy Upload ausprobiert. Er funktioniert auch bis auf ein kleines aber wichtiges Detail: Ich steuere mit dem Upload (Übergabe einer ID und einem Gallerienamen) die Datei uplooad.php mit folgendem Inhalt an:
CODE <?php
$result = array();
if (isset($_FILES['photoupload']) ){
$name = $_FILES['photoupload']['name'];
$file = $_FILES['photoupload']['tmp_name'];
$error = false;
$size = false;
$image_ext = strtolower(strrchr($name,"."));
include_once '../../includes/image_function.inc.php';
if($_REQUEST["gal"] == "location_news_image"){
$query = "INSERT INTO system_location_news_images(IMAGE_EXT,NEWS_ID,IMAGE_DATE) VALUES ('".$image_ext."','".$_REQUEST["id"]."',NOW())";
$dir = "../../media/img/location_news_images/";
}
if(!is_dir($dir)) mkdir($dir, 0777);
mysql_query($query,$database)or die(mysql_error());
$image_id = mysql_insert_id();
$image_file = $dir . $image_id . "_xxl" . $image_ext;
$image_std = $dir . $image_id . $image_ext;
$thumb_medium = $dir . $image_id . "_thumb_medium" . $image_ext;
$thumb_small = $dir . $image_id . "_thumb_small" . $image_ext;
move_uploaded_file($file,$image_file);
makeThumb($dir,$image_id,$image_ext,"_thumb_medium",$_REQUEST["gal"]);
makeThumb($dir,$image_id,$image_ext,"_thumb_small",$_REQUEST["gal"]);
makeThumb($dir,$image_id,$image_ext,"",$_REQUEST["gal"]);
}
echo $result;
?>
Das funktioniert bisweilen so weit, dass ich die xxl-Bilder auf meinen Webspace geladen bekomme und auch die Datenbankeintragung funktioniert. Das Problem ist aber, das bei manchen Dateien (ich hab net rausgefunden welche) keine Thumbnails erzeugt werden. Hier das Skript mit dem ich die Thumbails erzeuge:
CODE
<?php
function makeThumb($path,$id,$ext,$add,$cat) {
$old_file_path = $path . $id . "_xxl" . $ext;
$new_file_path = $path . $id . $add . $ext;
$size = getimagesize($old_file_path);
switch($cat){
case "location_news_image":
switch($add){
case "_thumb_small": $new_width = 42; $new_height = 49; break;
case "_thumb_medium": $new_width = 77; $new_height = 83; break;
case "": $new_width =300; $new_height = 250;break;
}
break;
}
switch($ext) {
case ".jpg": case ".jpeg": $src_img = imagecreatefromjpeg($old_file_path); break;
case ".gif"; $src_img = imagecreatefromgif($old_file_path); break;
case ".png": $src_img = imagecreatefrompng($old_file_path); break;
}
$dst_img = imagecreatetruecolor($new_width,$new_height);
ImageCopyResampled($dst_img,$src_img,0,0,0,0,(int)$new_width,(int)$new_height,ImageSX($src_img),ImageSY($src_img));
imagedestroy($src_img);
imagejpeg($dst_img,$new_file_path);
imagedestroy($dst_img);
}
?>
Das seltsame is, dass ich das alles mit 4 .jpg Dateien probiert habe. Bei zweien klappt das, bei zweien nicht
ich habe grade den Fancy Upload ausprobiert. Er funktioniert auch bis auf ein kleines aber wichtiges Detail: Ich steuere mit dem Upload (Übergabe einer ID und einem Gallerienamen) die Datei uplooad.php mit folgendem Inhalt an:
CODE <?php
$result = array();
if (isset($_FILES['photoupload']) ){
$name = $_FILES['photoupload']['name'];
$file = $_FILES['photoupload']['tmp_name'];
$error = false;
$size = false;
$image_ext = strtolower(strrchr($name,"."));
include_once '../../includes/image_function.inc.php';
if($_REQUEST["gal"] == "location_news_image"){
$query = "INSERT INTO system_location_news_images(IMAGE_EXT,NEWS_ID,IMAGE_DATE) VALUES ('".$image_ext."','".$_REQUEST["id"]."',NOW())";
$dir = "../../media/img/location_news_images/";
}
if(!is_dir($dir)) mkdir($dir, 0777);
mysql_query($query,$database)or die(mysql_error());
$image_id = mysql_insert_id();
$image_file = $dir . $image_id . "_xxl" . $image_ext;
$image_std = $dir . $image_id . $image_ext;
$thumb_medium = $dir . $image_id . "_thumb_medium" . $image_ext;
$thumb_small = $dir . $image_id . "_thumb_small" . $image_ext;
move_uploaded_file($file,$image_file);
makeThumb($dir,$image_id,$image_ext,"_thumb_medium",$_REQUEST["gal"]);
makeThumb($dir,$image_id,$image_ext,"_thumb_small",$_REQUEST["gal"]);
makeThumb($dir,$image_id,$image_ext,"",$_REQUEST["gal"]);
}
echo $result;
?>
Das funktioniert bisweilen so weit, dass ich die xxl-Bilder auf meinen Webspace geladen bekomme und auch die Datenbankeintragung funktioniert. Das Problem ist aber, das bei manchen Dateien (ich hab net rausgefunden welche) keine Thumbnails erzeugt werden. Hier das Skript mit dem ich die Thumbails erzeuge:
CODE
<?php
function makeThumb($path,$id,$ext,$add,$cat) {
$old_file_path = $path . $id . "_xxl" . $ext;
$new_file_path = $path . $id . $add . $ext;
$size = getimagesize($old_file_path);
switch($cat){
case "location_news_image":
switch($add){
case "_thumb_small": $new_width = 42; $new_height = 49; break;
case "_thumb_medium": $new_width = 77; $new_height = 83; break;
case "": $new_width =300; $new_height = 250;break;
}
break;
}
switch($ext) {
case ".jpg": case ".jpeg": $src_img = imagecreatefromjpeg($old_file_path); break;
case ".gif"; $src_img = imagecreatefromgif($old_file_path); break;
case ".png": $src_img = imagecreatefrompng($old_file_path); break;
}
$dst_img = imagecreatetruecolor($new_width,$new_height);
ImageCopyResampled($dst_img,$src_img,0,0,0,0,(int)$new_width,(int)$new_height,ImageSX($src_img),ImageSY($src_img));
imagedestroy($src_img);
imagejpeg($dst_img,$new_file_path);
imagedestroy($dst_img);
}
?>
Das seltsame is, dass ich das alles mit 4 .jpg Dateien probiert habe. Bei zweien klappt das, bei zweien nicht