 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
05.07.2005, 15:06
|
#1
|
|
TP-Member
Registriert seit: Mar 2002
Ort: Nähe München
|
Problem mit Bild Funktion
Hallo zusammen,
ich habe ein Problem mit dem erstellen von Thumbs.
Sie sind alle schwarz nach dem erstellen mit folgendem Script.
PHP-Code:
$name = time();
$bildname = $name.'.jpg';
$tempname = $_FILES['image']['tmp_name'];
$path = '/kunden/homepages/21/d21146026/htdocs/images/bildergalerie/'.$bildname;
move_uploaded_file($tempname, $path);
$size = getimagesize('/kunden/homepages/21/d21146026/htdocs/images/bildergalerie/'.$bildname);
$breite = $size[0];
$hoehe = $size[1];
if ($breite < $hoehe) {
$neueHoehe = '150';
$neueBreite = '113';
}
elseif ($breite > $hoehe) {
$neueHoehe = '113';
$neueBreite = '150';
}
$altesBild = imagecreatefromjpeg('/kunden/homepages/21/d21146026/htdocs/smue/images/bildergalerie/'.$bildname);
$neuesBild = imagecreatetruecolor($neueBreite,$neueHoehe);
imagecopyresampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
imagejpeg($neuesBild, '/kunden/homepages/21/d21146026/htdocs/images/bildergalerie/thumbs/'.$bildname);
imagedestroy($altesBild);
imagedestroy($neuesBild);
mysql_query("INSERT INTO smue_galerie (type, image, content) VALUES ('$type', '$bildname', '$content')");
An was liegt denn das Problem?
Ich habe es auf schon mit
imagecreate
statt
imagecreatetruecolor
probiert
oder auch:
mit imagecopyresized
statt
imagecopyresampled
aber die thumbs bleiben scharz
Bitte helft mir ich bin schon am verzweifeln.
Gruß kcyberbob
|
|
|
05.07.2005, 16:20
|
#3
|
|
TP-Member
Registriert seit: Mar 2002
Ort: Nähe München
|
Re:
Ja ich denke schon,
das wenn die datei .JPG heißt die auch aus JPG besteht.
|
|
|
05.07.2005, 16:36
|
#4
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ansonsten am Anfang mal
error_reporting(E_ALL);
und die Warnungen lesen.
|
|
|
05.07.2005, 16:41
|
#5
|
|
TP-Member
Registriert seit: Mar 2002
Ort: Nähe München
|
also wenn ich echo error_reporting(E_ALL);
dann kommt
2037
und was heißt das?
|
|
|
06.07.2005, 10:09
|
#6
|
|
TP-Member
Registriert seit: Mar 2002
Ort: Nähe München
|
Weiß denn niemand eine Lösung?
|
|
|
06.07.2005, 10:31
|
#7
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
dann fang doch mal langsam an und nimm einen gang raus:
als erstes wuerd ich das script um den bildupload verringern, um einen etwaigen fehler dort auszuschliessen.
gleiches wuerde ich fuer die mysql-anweisung erstmal vorschlagen.
wenn es dann nicht geht, dann hast du wirklich ein problem mit den bildern und deren verarbeitung.
also kopf hoch bob! dat wird schon.
gruss
hardy
|
|
|
06.07.2005, 11:17
|
#8
|
|
TP-Member
Registriert seit: Mar 2002
Ort: Nähe München
|
Es liegt nicht am upload, das orginal Bild ist ja auch ok
Und an der Datenbank liegt es auch nicht.
|
|
|
06.07.2005, 11:38
|
#9
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
zwei dinge stoeren mich noch an deinem script:
1. hier ist die gb-lib bzw. die anweisungen dafuer mit anderen sachen (bildupload und db) verbunden. da die anweisungen fuer die gd-lib sehr sensibel auf header aus fehlermeldungen reagieren, kann da ein problem schon auftreten. und du bekommst keine ordentliche fehlermeldung raus.
2. ich sehe keinen connect zur db. ich gehe mal davon aus, dass er existiert. aber wenn nicht, dann wuerde der upload funzen und dann haettest du irgendwann einen fehler drin, der zu den genannten problemen fuehrt.
ich hab dein script mal etwas umgeschrieben, um fehler in den pfaden zu vermeiden bzw. die formate der bilder als fehlerquelle auszugrenzen. auch bleibt hier die proportionalitaet der bilder erhalten.
ich hab´s nicht getestet, aber vielleicht hilft es dir weiter.
hardy
PHP-Code:
<?php
header("content-type: image/jpeg");
$name = time();
$bildname = $name.'.jpg';
$dir = '/kunden/homepages/21/d21146026/htdocs/images/bildergalerie/';
$tempname = $_FILES['image']['tmp_name'];
$path = $dir.$bildname;
move_uploaded_file($tempname, $path);
$size = getimagesize($dir.$bildname);
$size = getimagesize($image);
if ($size[0] < $size[1]) {
$rwert = $size[0]/150;
} else
if ($size[0] > $size[1]) {
$rwert = $size[0]/113;
} else
if ($size[0] == $size[1]) {
$rwert = $size[0]/150;
}
$neueBreite = $size[0] / $rwert;
$neueHoehe = $size[1] / $rwert;
$path = pathinfo($dir.$bildname);
$ext = $path['extension'];
switch($ext){
case "JPG":
case "jpg":
$altesBild = imagecreatefromjpeg($dir.$bildname);
break;
case "gif":
case "GIF":
$altesBild = imagecreatefromgif($dir.$bildname);
break;
case "png":
case "PNG":
$altesBild = imagecreatefrompng($dir.$bildname);
break;
case "bmp":
case "BMP":
$altesBild = imagecreatefromwbmp($dir.$bildname);
break;
} // switch
$neuesBild = imagecreatetruecolor($neueBreite,$neueHoehe);
imagecopyresampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
imagejpeg($neuesBild, $dir.$bildname);
imagedestroy($altesBild);
imagedestroy($neuesBild);
mysql_query("INSERT INTO smue_galerie (type, image, content)
VALUES ('".$type."', '".$bildname."', '".$content."')");
?>
|
|
|
06.07.2005, 11:49
|
#10
|
|
TP-Member
Registriert seit: Mar 2002
Ort: Nähe München
|
Erstmal danke für dein Antwort.
Doch leider wird bei deinem Script kein Thumb erstellt bei mir
|
|
|
06.07.2005, 11:56
|
#11
|
|
TP-Veteran
Registriert seit: Oct 2002
Ort: Übach-Palenberg
|
PHP-Code:
function createJPEG_thumb(&$source, &$target) {
$size = getimagesize($source);
$breite = $size[0];
$hoehe = $size[1];
if ($breite > $hoehe & $breite > 100) {
//Querformat
$neueBreite = 100;
$faktor = ($neueBreite / $breite);
$neueHoehe = $hoehe * $faktor;
}
elseif ($breite <= $hoehe & $hoehe > 100) {
//Hochformat
$neueHoehe = 100;
$faktor = ($neueHoehe / $hoehe);
$neueBreite = $breite * $faktor;
}
else {
$neueBreite = $breite;
$neueHoehe = $hoehe;
}
$altesBild = ImageCreateFromJPEG($source);
$neuesBild = ImageCreate($neueBreite, $neueHoehe);
ImageCopyResized($neuesBild, $altesBild, 0, 0, 0, 0, $neueBreite, $neueHoehe, $breite, $hoehe);
Imagejpeg($neuesBild, $target);
Imagedestroy($neuesBild);
return true;
}
__________________
Grüße aus Übach-Palenberg
Tim
WEB.ASSISTANTS IT-SOLUTIONS
www.web-assistants.de
Hängt das doch mal an eine beliebige PHP-Datei: ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
|
|
|
06.07.2005, 12:00
|
#12
|
|
TP-Member
Registriert seit: Mar 2002
Ort: Nähe München
|
danke für die scripte aber
im prinzip steht da immer das gleich drin wie in meinem.
Und der Fehler ist auch immer noch da
|
|
|
06.07.2005, 12:18
|
#13
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Da du ja die Pfadangaben/ Dateinamen zusammen setzt, würde ich die mal echoen um zu schauen, ob diese richtig sind..
|
|
|
06.07.2005, 12:24
|
#14
|
|
TP-Member
Registriert seit: Mar 2002
Ort: Nähe München
|
ja die sind richtig,
das Thumb wird bei meinem Script ja erstellt aber nur in
Schwarz
|
|
|
06.07.2005, 12:36
|
#15
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Welches Format haben du Bilder, die du hochlädst?
Wenn ich das richtig sehe, gibst du jedem Bild standardmäßig den Namen time().jpg . Auch wenn es sich um ein Gif handelt.
Später prüfst du aber nur anhand der neuen extension welche imagecreatefrom- Funktion benutzt wird.
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
| | |