zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Image Upload und Resize

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 24.03.2009, 04:54
Benutzerbild von onkel-tom
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 13.03.2007
Ort: Berlin
Beiträge: 129
onkel-tom befindet sich auf einem aufstrebenden Ast
Frage Image Upload und Resize

Hallo Leute,

ich habe ein Formular mit dem ich u.a. ein Bild hochladen bzw. verkleinern lassen will, aber ich bekomme immer nur ein schwarzes Bild. Der Resize hat aber geklappt. Auch klappt ein Upload wenn ich das Bild nur uploade und nicht verkleinere. Ich sehe einfach bei einem Script nicht den Fehler.

Hier mal mein Code:
Code:
		$zielpfad = "../media/".$_POST['kategorie']."/";
		$bilddatei = getimagesize($_FILES['bild']['tmp_name']);
		$tmp_dateiname = $_FILES['bild']['tmp_name'];
		$dateiname = strtolower($_POST['picnummer']);
		$thumbdatei = strtolower($_POST['picnummer'])."_thumb";
		if($bilddatei[2] != 0) {
			switch($bilddatei[2]) {
				case 1:
					$dateiendung = ".gif";
					$dateiname .= ".gif";
					$thumbdatei .= ".gif";
					break;
				case 2:
					$dateiendung = ".jpg";
					$dateiname .= ".jpg";
					$thumbdatei .= ".jpg";
					break;
				case 3:
					$dateiendung = ".png";
					$dateiname .= ".png";
					$thumbdatei .= ".png";
					break;
			}
			// prüfe ob Verzeichnis existiert
			if(!file_exists($zielpfad)) {
				mkdir($zielpfad);
			}
			// Thumbnail berechnen und erzeugen
			$bildhoehe = 100;
			$bildbreite = 340;
			$tmp_bildbreite = $bilddatei[0];
			$tmp_bildhoehe = $bilddatei[1];
			$tmp_bildmime = $bilddatei['mime'];
			if($tmp_bildbreite < $tmp_bildhoehe) {
				$new_bildhoehe = ceil($tmp_bildhoehe * $bildbreite / $tmp_bildbreite);
				$new_bildbreite = ceil($tmp_bildbreite * $bildhoehe / $tmp_bildhoehe);
			} else {
				$new_bildhoehe = ceil(($bildhoehe / $tmp_bildbreite)* $tmp_bildhoehe);
				$new_bildbreite = $bildbreite;
			}
			
						$original = imagecreatefromjpeg($tmp_dateiname);
						$thumb = imagecreatetruecolor($new_bildbreite, $new_bildhoehe);
						imagecopyresampled($thumb, $original, 0, 0, 0, 0, $new_breite, $new_hoehe, $tmp_bildbreite, $tmp_bildhoehe);
						imagejpeg($thumb, $zielpfad.$dateiname,100);
				// temporäres Bild aus Speicher löschen
				if(isset($thumb)) {
					imagedestroy($thumb);
				}
			}
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 24.03.2009, 09:41
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Ich kann nur wenig PHP, aber ....
Zitat:
Zitat von onkel-tom Beitrag anzeigen
$original = imagecreatefromjpeg($tmp_dateiname);
$thumb = imagecreatetruecolor($new_bildbreite, $new_bildhoehe);
imagecopyresampled($thumb, $original, 0, 0, 0, 0, $new_breite, $new_hoehe, $tmp_bildbreite, $tmp_bildhoehe);
imagejpeg($thumb, $zielpfad.$dateiname,100);
...kann man bei diesen Funktionen nicht Abfragen ob sie erfolgreich waren oder nicht?
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 24.03.2009, 10:06
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Doch, man bekommt entsprechende Rückgabewerte.

Ohne mir das Skript jetzt im Detail angesehen zu haben, du verwendest immer „imagecreatefromjpeg“ und nicht entsprechend des Dateityps auch „imagecreatefrompng“ und „imagecreatefromgif“.
Mit Zitat antworten
  #4 (permalink)  
Alt 24.03.2009, 10:37
Benutzerbild von onkel-tom
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 13.03.2007
Ort: Berlin
Beiträge: 129
onkel-tom befindet sich auf einem aufstrebenden Ast
Standard

@patronenbeschleuniger
Ich weiss nicht da muss ich selbst mal nachschauen, aber alle Beispiele die man so findet, machen dies auch so, aber irgendwie kommt bei mir eben nur ein schwarzes bild dabei raus.

@inta
ich verwende für jeden dateityp auch die entsprechede imagecreate variante, in meinen script ist dies nun nur auf den jpg-dateityp gekürzt. Wie kann ich denn diese rückgabewerte abfragen bzw. was kann ich damit in meinem fall überprüfen?
Mit Zitat antworten
  #5 (permalink)  
Alt 24.03.2009, 10:45
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von onkel-tom Beitrag anzeigen
@patronenbeschleuniger
Ich weiss nicht da muss ich selbst mal nachschauen, aber alle Beispiele die man so findet, machen dies auch so, aber irgendwie kommt bei mir eben nur ein schwarzes bild dabei raus.
Dann sind alle Beispiele schlecht. Es ist eine Grundlage der Programmierung, dass man Fehler abfängt, prüft und sich anzeigen läßt. Wer das nicht tut, ist fahrlässig oder arbeitet bei Microsoft
Mit Zitat antworten
  #6 (permalink)  
Alt 24.03.2009, 12:32
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Schau mal in die Dokumentation, dort steht:
Zitat:
imagecreatetruecolor() returns an image identifier representing a black image of the specified size.
Damit solltest du deiner Fehlerquelle ein Stückchen näher gekommen sein.

Du speicherst die Rückgabewerte doch schon in Variabeln, du musst sie nur noch überprüfen.

Wenn du ein Beispiel kürzt, dann sollte es in sich schlüssig sein, sonst stiftest du damit nur Verwirrung.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2 <div>´s nebeneinander, div 1 verrutscht Dark-Flower CSS 15 16.01.2011 09:37
Image Upload Generator PHP/AJAX/jQuery Dav-88 Javascript & Ajax 1 29.11.2010 14:04
PHP Image Upload & Resize Problem da.executor Serveradministration und serverseitige Scripte 5 19.08.2009 14:19
Imagemap Zugriff bei einer Gallery Sarah14 Javascript & Ajax 3 12.11.2007 14:06


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:55 Uhr.