php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.07.2006, 00:43  
Benutzer
 
Registriert seit: 28.09.2004
Beiträge: 42
2wuck
Standard Problem mit Bildupload

Hallo,

Ich hab zwei kleine Probleme mit meinem Bildupload. Ich hoffe ihr könnt mir dabei helfen.

Vielleicht zuerst einmal wie mein Upload funktioniert [Quellcode dann weiter unten]:

Dem Skript sollte ein Bild per upload übergeben werden. Also prüft das Script erstmal ob eines angegeben wurde. Danach wird überprüft, ob es sich dabei um eine Datei mit zulässiger Endung handelt.
Danach wird mit imageCreateFrom[Type]() eine Instanz des Bildes erzeugt, das ganze mit imageCopyResized() mit zulässigen Größen in ein neues Bild kopiert und außerdem in einem zweiten ein thumb erzeugt. Mit imageJpeg(resource, [Pfad]) werden dann beide diese Bilder gespeichert.

Funktioniert soweit ja Perfekt, aber treten dabei 2 Probleme auf:

1)
Die Bilder sind nachher völlig im A****, und ich weiss ned woran das liegt.

Hier mal ein Beispiel:
Vorher: http://www.cineast.at/images/vorher.jpg
Nachher: http://www.cineast.at/images/nachher.jpg

2)
Manchmal, also nicht bei jedem Bild aber kommt eben vor, kommt folgender Fehler:

Warning: imagecopyresized(): Invalid image dimensions in /home/www/web313/html/fotos.php on line 137

Hier mal ein Beispiel wann (mit welchen werten) der fehler kommt:
Code:
imagecopyresized($thumb, $image, -15, 0, 0, 0, 109, 80, 470, 344)
Jetzt ist das einzige wo ich mir vorstellen könnte, dass der Fehler da liegt das -15, aber ein negativer Wert tritt immer entweder auf der ersten oder zweiten Position nach $image auf und der Fehler kommt nicht immer.


Hier noch der relevante Quellcode:
PHP-Code:
switch($ending[$last])
        {
          case 
'jpg': case 'jpeg':
            
$image_old imageCreateFromJpeg($_FILES['pic']['tmp_name']);
            break;

          case 
'gif':
            
$image_old imageCreateFromGif($_FILES['pic']['tmp_name']);
            break;
            
          case 
'png':
            
$image_old imageCreateFromPng($_FILES['pic']['tmp_name']);
            break;
        }
        
        if(
$image_old)
        {
        
          
$size getimagesize($_FILES['pic']['tmp_name']);

          
$new[1] = $size[1];
          
$new[0] = $size[0];
          
          if(
$size[0] > 470)
          {
            
$fak $size[0]/470;
            
$new[0] = $size[0]/$fak;
            
$new[1] = $size[1]/$fak;
          }
          
          if(
$new[1] > 600)
          {
            
$fak $new[1]/600;
            
$new[0] = $new[0]/$fak;
            
$new[1] = $new[1]/$fak;
          }
          
          
$image imageCreate($new[0], $new[1]);
          
imageCopyResized($image$image_old0000$new[0], $new[1], $size[0], $size[1]);
        
          
$thumb imageCreate(80,80);

          if(
$new[0] > $new[1])
          {
            
$fak $new[1]/80;
            
$thumbs[0] = round($new[0]/$fak0);
            
$thumbs[1] = round($new[1]/$fak0);

            
$minus = -($thumbs[0]-80)/2;
            
imageCopyResized($thumb$imageround($minus,0), 000$thumb[0], $thumb[1], $new[0], $new[1]);
          } else
          {
            
$fak $new[0]/80;
            
$thumbs[0] = round($new[0]/$fak0);
            
$thumbs[1] = round($new[1]/$fak0);

            
$minus = -($thumbs[1]-80)/2;
            
imageCopyResized($thumb$image0round($minus,0), 00$thumbs[0], $thumbs[1], $new[0], $new[1]);
          }
          
          
          
imageJpeg($image'fotos/'$cat_id .'/'$foto_id .'.jpg');
          
imageJpeg($thumb'fotos/'$cat_id .'/minis/'$foto_id .'.jpg'); 
2wuck ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.07.2006, 00:59  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.818
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://www.php.net/imagecreatetruecolor
axo ist offline  
Alt 03.07.2006, 07:05  
Gast
 
Beiträge: n/a
Standard

ggf. auch ImageCopyResampled()
 
 


Themen-Optionen
Thema bewerten
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.

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Problem mit Bildupload Charly Shop Sui PHP Tipps 2006 2 14.07.2006 12:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Problem beim Bildupload/ Thumbnailerstellen imported_FlasH PHP Tipps 2006 2 02.03.2006 08:12
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Problem beim Bildupload PHP Tipps 2005-2 2 11.09.2005 19:30
Problem bei Bildupload PHP Tipps 2004-2 4 26.12.2004 00:04
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
Problem: Bildupload und Größenänderung geht nur lokal PHP Tipps 2004 4 08.08.2004 18:00
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.