php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.03.2006, 10:01  
wiegia086
Gast
 
Beiträge: n/a
Standard HILFE, upload scirpt mit verkleinerung von bildern

Finde den fehler bei diesem Script nicht! ich glaube der erkennt den Pfad nicht wo das bild hingespeichter werden soll!!

vielen dank mfg wiegi

Code:
<form method=\"post\" action=\"\" enctype=\"multipart/form-data\" > 
<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\"> 
<tr > 
<td>Datei:</td> 
<td><input type=\"file\" name=\"file1\" size=\"16\"></td> 
</tr> 
<tr > 
<td></td> 
<td><input type=\"submit\" value=\"Upload\"></td> 
</tr> 
</table> 
</form>"; // Wichtig ist hier beim <form ... das: enctype=\"multipart/form-data\" 
// Dem Dateiupload feld geben wir den namen file1 (wird sp&auml;ter noch ben&ouml;tigt) 

## Upload Funktion! ## 
###################### 
if($_FILES['file1']['tmp_name'] != "") { 
// Verzeichniss wo die Dateien hingeladen werden sollen: 
// WICHTIG!! das Verzeichniss muss den chmod 777 besitzen! 
$uploaddir = "ProfilGallery/"; 

// Upload script: 
if(move_uploaded_file($_FILES['file1']['tmp_name'], $uploaddir.$_FILES['file1']['name'])) { // hier wird die datei aus dem Temp. speicher vom Server in den von den von dir angegebenen Pfad verschoben (move..) 
$dateiname = $_FILES['file1']['name']; // hier wird nochmal der dateiname in eine Variable gespeichert. 
$dateipfad = $uploaddir.$dateiname; // hier das gesamte Pfad zur Datei! 

$maxlen = 640;
&pfad_neu = imagejpeg($thumb,$destination)
$dateipfad_neu = $pfad_neu."/".$dateipfad
$imgsize = array();
$imgsize = getimagesize($dateipfad);
$imgw = $imgsize[0];
$imgh = $imgsize[1];

$neww = $imgw;
$newh = $imgh;
if ($imgw < $imgh && $imgh > $maxlen) {
  $neww = $imgh * $maxlen / $imgw;
  $newh = $maxlen;
  thumb($dateipfad, $dateipfad_neu, $neww, $newh, true); } else if ($imgw >
$imgh && $imgw > $maxlen) {
  $neww = $maxlen;
  $newh = $imgw * $maxlen / $imgh;
  thumb($dateipfad, $dateipfad_neu, $neww, $newh, true); }


function thumb($filename, $destination, $th_width, $th_height, $forcefill)
{   
   list($width, $height) = getimagesize($filename);

   $source = imagecreatefromjpeg($filename);

   if($width > $th_width || $height > $th_height){
     $a = $th_width/$th_height;
     $b = $width/$height;

     if(($a > $b)^$forcefill)
     {
         $src_rect_width  = $a * $height;
         $src_rect_height = $height;
         if(!$forcefill)
         {
           $src_rect_width = $width;
           $th_width = $th_height/$height*$width;
         }
     }
     else
     {
         $src_rect_height = $width/$a;
         $src_rect_width  = $width;
         if(!$forcefill)
         {
           $src_rect_height = $height;
           $th_height = $th_width/$width*$height;
         }
     }

     $src_rect_xoffset = ($width - $src_rect_width)/2*intval($forcefill);
     $src_rect_yoffset = ($height - $src_rect_height)/2*intval($forcefill);

     $thumb  = imagecreatetruecolor($th_width, $th_height);
     imagecopyresized($thumb, $source, 0, 0, $src_rect_xoffset,
$src_rect_yoffset, $th_width, $th_height, $src_rect_width, $src_rect_height);

     imagejpeg($thumb,$destination);
   }
}

echo "Datei wurde hochgeladen(".$dateipfad.")."; // Statusmeldung! 
} else { 
echo "Datei konnte nicht hochgeladen werden."; // Statusmeldung! 
}; 

}; 
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.03.2006, 10:20  
Gast
 
Beiträge: n/a
Standard

Zitat:
ich glaube der erkennt den Pfad nicht wo das bild hingespeichter werden soll!!
Glauben heißt nicht wissen. Gibt es eine Fehlermeldung? Beschreibe das Problem genauer.

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.

Gruß
phpfan
 
Alt 09.03.2006, 12:37  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php

$pfad_neu 
imagejpeg($thumb,$destination);    // HIER STAND EIN "&"
                                                                       // und nächste Zeile fehlt ein ";"
?>
Dioe Fehlermeldung hätte viel geholfen ... ??!!!! Und nahc dem Fehler hast du definitiv nicht gesucht !!!!!
M3g4Star ist offline  
Alt 09.03.2006, 12:38  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

warum benutz man CODE Tags wenns doch PHP-Tags gibt *heul*

zu dem sehe ich mal wieder kein Fragezeichen, daher auch keine Frage..
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 09.03.2006, 13:05  
Gast
 
Beiträge: n/a
Standard

Hallo,

a) ein Blick in die phpinfo();
PHP-Code:
<?php
echo phpinfo();
?>
_SERVER["DOCUMENT_ROOT"] könnte z.B. so ähnlich aussehen
/server/www/usr/meine/public_html/

/server/www/usr/meine/public_html/ProfilGalery/
wäre dann die korrekte Bezeichnung für das Verzeichnis
 
Alt 09.03.2006, 13:12  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von M3g4Star
PHP-Code:
<?php

$pfad_neu 
imagejpeg($thumb,$destination);    // HIER STAND EIN "&"
                                                                       // und nächste Zeile fehlt ein ";"
?>
Dioe Fehlermeldung hätte viel geholfen ... ??!!!! Und nahc dem Fehler hast du definitiv nicht gesucht !!!!!
da sind noch mehr bugs drin, aber soweit kommt das script erst gar nicht:
}; anstatt ;}
 
Alt 09.03.2006, 13:20  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von aberchen
da sind noch mehr bugs drin, aber soweit kommt das script erst gar nicht:
}; anstatt ;}
Ja aber wie schon gesagt .. ich glauib nicht recht das er hier irgendqwie versucht hat das ganze Ding zu debuggen ...

Zitat:
Zitat von aberchen
Hallo,

a) ein Blick in die phpinfo();
PHP-Code:
<?php
echo phpinfo();
?>
_SERVER["DOCUMENT_ROOT"] könnte z.B. so ähnlich aussehen
/server/www/usr/meine/public_html/

/server/www/usr/meine/public_html/ProfilGalery/
wäre dann die korrekte Bezeichnung für das Verzeichnis
<== war wohl zum falschen Thread !!!
M3g4Star ist offline  
Alt 09.03.2006, 13:22  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

Auf was bzw. welche Frage antwortet ihr ?!

er soll das Problem genauer beschreiben, raten nüzt nichts, also abwarten bis das Problem genauer beschrieben wird.
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 16.03.2006, 14:32  
wiegia086
Gast
 
Beiträge: n/a
Standard Genauer beschreibung des problems

Hui da hab i viele fehler drin, !! naja i hab den code jetzan nomal überarbeitet und jetzt tauchen statt 3 fehlermeldungen nur mehr ane auf und zwar:

Fatal error: Call to undefined function: thumb() in C:\Dokumente und Einstellungen\Wiegi\Eigene Dateien\5KMD\CMS\XAMPP\htdocs\Diplomarbeit\test\bi lder-klein.php on line 58

Da hab i den neuen code nochmals:

PHP-Code:
  <?php 

## Upload Formular! ## 
###################### 
echo 

<form method=\"post\" action=\"\" enctype=\"multipart/form-data\" > 
<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\"> 
<tr > 
<td>Datei:</td> 
<td><input type=\"file\" name=\"file1\" size=\"16\"></td> 
</tr> 
<tr > 
<td></td> 
<td><input type=\"submit\" value=\"Upload\"></td> 
</tr> 
</table> 
</form>"
// Wichtig ist hier beim <form ... das: enctype=\"multipart/form-data\" 
// Dem Dateiupload feld geben wir den namen file1 (wird sp&auml;ter noch ben&ouml;tigt) 

## Upload Funktion! ## 
###################### 
if($_FILES['file1']['tmp_name'] != "") { 
// Verzeichniss wo die Dateien hingeladen werden sollen: 
// WICHTIG!! das Verzeichniss muss den chmod 777 besitzen! 
$pfad dirname(__FILE__);
$uploaddir $pfad."/"

// Upload script: 
if(move_uploaded_file($_FILES['file1']['tmp_name'], $uploaddir.$_FILES['file1']['name'])) { // hier wird die datei aus dem Temp. speicher vom Server in den von den von dir angegebenen Pfad verschoben (move..) 
$dateiname $_FILES['file1']['name']; // hier wird nochmal der dateiname in eine Variable gespeichert. 
$dateipfad $uploaddir.$dateiname// hier das gesamte Pfad zur Datei! 

$maxlen 640;
$dateipfad_neu dirname(_FILE_)."/";
$imgsize = array();
$imgsize getimagesize($dateipfad);
$imgw $imgsize[0];
$imgh $imgsize[1];

$neww $imgw;
$newh $imgh;
if (
$imgw $imgh && $imgh $maxlen) {
  
$neww $imgh $maxlen $imgw;
  
$newh $maxlen;
  
thumb($dateipfad$dateipfad_neu$neww$newhtrue); } else if ($imgw >
$imgh && $imgw $maxlen) {
  
$neww $maxlen;
  
$newh $imgw $maxlen $imgh;
  
thumb($dateipfad$dateipfad_neu$neww$newhtrue); }


function 
thumb($filename$destination$th_width$th_height$forcefill)
{   
   list(
$width$height) = getimagesize($filename);

   
$source imagecreatefromjpeg($filename);

   if(
$width $th_width || $height $th_height){
     
$a $th_width/$th_height;
     
$b $width/$height;

     if((
$a $b)^$forcefill)
     {
         
$src_rect_width  $a $height;
         
$src_rect_height $height;
         if(!
$forcefill)
         {
           
$src_rect_width $width;
           
$th_width $th_height/$height*$width;
         }
     }
     else
     {
         
$src_rect_height $width/$a;
         
$src_rect_width  $width;
         if(!
$forcefill)
         {
           
$src_rect_height $height;
           
$th_height $th_width/$width*$height;
         }
     }

     
$src_rect_xoffset = ($width $src_rect_width)/2*intval($forcefill);
     
$src_rect_yoffset = ($height $src_rect_height)/2*intval($forcefill);

     
$thumb  imagecreatetruecolor($th_width$th_height);
     
imagecopyresized($thumb$source00$src_rect_xoffset,
$src_rect_yoffset$th_width$th_height$src_rect_width$src_rect_height);

     
imagejpeg($thumb,$destination);
   }
}

echo 
"Datei wurde hochgeladen(".$dateipfad.")."// Statusmeldung! 
} else { 
echo 
"Datei konnte nicht hochgeladen werden."// Statusmeldung! 
}; 

}; 
?>
danke für eure hilfe[/php]
 
 


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
Bitte um Hilfe - PHP upload mehrere Dateien ich_bin_es PHP Tipps 2008 5 18.07.2008 17:17
Bitte um Hilfe - PHP upload mehrere Dateien ich_bin_es PHP Tipps 2008 4 18.07.2008 17:01
Upload Hilfe!! numb-freak PHP Tipps 2008 18 18.07.2008 10:20
upload und download von bildern mit php in die mysql db zeiss69 Datenbanken 47 29.03.2006 11:12
upload script mit verkleinung von bildern wiegia086 PHP Tipps 2006 6 02.03.2006 16:28
Daten Upload Script Hilfe!! PHP Tipps 2007 9 29.12.2005 10:39
Upload von Bildern verhindern welche breiter sind als 1024px PHP Tipps 2005 2 24.02.2005 16:33
HILFE: Daten Upload PHP-Fortgeschrittene 1 18.09.2004 12:33
Hilfe mit einibinden von Bildern in PHP und der ausgabe PHP Tipps 2004 7 15.08.2004 16:07
brauche hilfe bei upload script... PHP Tipps 2004 2 14.08.2004 14:32
upload script hilfe PHP Tipps 2004 1 01.07.2004 21:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
upload bilder thumbs mysql

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