php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.04.2006, 22:07  
Neuer Benutzer
 
Registriert seit: 17.07.2005
Beiträge: 7
imported_master
Standard fehler in einer funktion

Hab ein fehler in dieser funktion, weiß aber nicht wo der ist.
kann mir vllt einer helfen?

ps.: alle bilder die ich hochlade werden schwarz

PHP-Code:
<?php
function resize($rfile$rext$rheight$rwidth) {

// Nur ändern wenn die automatische Erkennung fehlschlägt
$tmppath getcwd() . "/tmp";

$image_path $rfile;
$img null;
if (
$rext == 'jpg' || $rext == 'jpeg') {
    
$img = @imagecreatefromjpeg($image_path);
} else if (
$rext == 'png') {
    
$img = @imagecreatefrompng($image_path);
} else if (
$rext == 'gif') {
    
$img = @imagecreatefrompng($image_path);
}

if (
$img) {

    
$width imagesx($img);
    
$height imagesy($img);
    
$scale min($rwidth/$width$rheight/$height);

    if (
$scale 1) {
        
$new_width floor($scale*$width);
        
$new_height floor($scale*$height);

        
$tmp_img imagecreatetruecolor($new_width$new_height);

        
imagecopyresized($tmp_img$img0000,
                         
$new_width$new_height$width$height);
        
imagedestroy($img);
        
$img $tmp_img;
    }
}
if (!
$img) {
    
$img imagecreate($rwidth$rheight);
    
imagecolorallocate($img,0,0,0);
    
$c imagecolorallocate($img,70,70,70);
    
imageline($img,0,0,$rwidth,$rheight,$c2);
    
imageline($img,$rwidth,0,0,$rheight,$c2);
}
$tempfile tempnam ($tmppath"resize");
imagejpeg($img$tempfile);
if(
copy($tempfile$rfile)) {return 1;} else {return 0;}
}
?>
imported_master ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 07.04.2006, 23:12  
Benutzer
 
Registriert seit: 28.03.2005
Beiträge: 46
Ryson
Standard

Statt if()...if(!) könntest Du if()..else() schreiben.
Außerdem handelst Du nicht alle Fälle ab.

Das Gelingen von imagecreatefromjpeg() & Co. prüfst Du noch,
imagecreate() aber nicht mehr.
Wenn letzteres fehlschlägt, was macht dann imagejpeg()?

imagecolorallocate() läuft einmal ins Leere,
einmal auf eine Variable die nicht verwendet wird: $c.
Dafür übergibst Du $c2, die sicher keinen gültigen Wert hat.


Ein paar Ausgaben an den richtigen Stellen könnten die Fehlersuche erleichtern.
Wenn Du error_reporting(E_ALL); einstellst,
siehst Du außerdem alle Meldungen, sofern sie nicht mit @ unterdrückt werden.
Ryson ist offline  
Alt 08.04.2006, 20:11  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Ryson
Statt if()...if(!) könntest Du if()..else() schreiben.
Außerdem handelst Du nicht alle Fälle ab.
Nein, geht nicht.

Wenn Du mal in den if-Zweig guckst, wirst Du bemerken, dass $img dort verändert wird.

Die zweite Abfrage wertet somit den Wert erneut aus. Ein else würde das nicht tun.

Damit könnte man nie den Code in beiden Abfragen ausführen lassen.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 08.04.2006, 21:10  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard Re: fehler in einer funktion

Zitat:
Zitat von master
PHP-Code:
<?php
} else if ($rext == '[b]gif[/b]') {
    
$img = @imagecreatefrompng($image_path);
//                                     ^^
?>
Basti
Basti ist offline  
 


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
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
Name der aufrufenden Funktion mAy^daY PHP Tipps 2007 5 20.01.2007 22:55
Fehler in rekursiver Funktion tinchen PHP Tipps 2006 1 27.08.2006 20:24
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
Problem mit einer rekursiven Funktion in einer Klasse ajo_silent PHP-Fortgeschrittene 6 13.06.2005 16:40
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
Rekursive Funktion ... finde fehler nicht ... PHP-Fortgeschrittene 1 27.09.2004 03:44
mail funktion funzt net es kommt ein fehler phpfortgeschrittener PHP Tipps 2004 4 29.08.2004 01:07
LIMIT(?) Fehler Schaelle Datenbanken 0 28.08.2004 14:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
funktion php fehler

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:33 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.