Antworten auf deine Fragen:
Neues Thema erstellen

Problem mit Bilderupload!

steiner93

PHP Newbie

Hallo lieber user von psd-tutorials.de,
Ich habe ein problem mit meinem Bilderupload script. Immer wenn ich auf Upload klicke kommt einfach nichts und kein Bild wird hochgeladen. Hier der Link: http://creative-designs.eu/upload . Und hier einmal der Code für euch :
PHP:
<? 
if($action){ 

   // -------------------------------- 
   // Diverse Variablen 
   // -------------------------------- 
   
   
$html = "&lt;a href='";
$html1 = "'&gt;<br>&lt;img src='";
$html2 = "' border='0'&gt;&lt;/a&gt;";
$bbcode = "[img]";
$bbcode1 = "[/img]";
$path = "usrimages/"; // Url zum Speicherordner der großen Bilder 
$thumb_path = "usrimages/k/"; // Url zum Speicherordner der Vorschaubilder 
$config_width = "99999"; // Bildbreite max. bei großem Bild 
$config_height = "99999"; // Bildhöhe max. bei großem Bild 
$config_thumb_width = "99999"; // Bildbreite max. bei Vorschaubild 
$config_thumb_height = "99999"; // Bildhöhe max. bei Vorschaubild 
$resizequality = "70"; // Bildkompressionsrate 0-100 
$deindomain = "http://creative-designs.eu/upload/";  // unsere Domain 

if ($HTTP_POST_FILES['userfile']['tmp_name']<> 'none') 
   { 

   // -------------------------------- 
   // Get File Upload Info 
   // -------------------------------- 

         $filename = $HTTP_POST_FILES['pic_file']['name']; 
         $filetype = $HTTP_POST_FILES['pic_file']['type']; 
         $filetmp = $HTTP_POST_FILES['pic_file']['tmp_name']; 

   // -------------------------------- 
   // Check file type 
   // -------------------------------- 

   switch ($filetype) 
   { 
      case 'image/jpeg': 
      case 'image/jpg': 
      case 'image/pjpeg': 

         $pic_filetype = '.jpg'; 
         break; 

      case 'image/png': 
      case 'image/x-png': 

         $pic_filetype = '.png'; 
         break; 

      case 'image/gif': 

         $pic_filetype = '.gif'; 
         break; 
      default: 
         die("<br><br><b>$filename hat ein falsches Dateiformat. Nur JPEG, GIF oder PNG erlaubt!</b>"); 
   } 

   // -------------------------------- 
   // Generate filename 
   // -------------------------------- 

   srand((double)microtime()*1000000);   // for older than version 4.2.0 of PHP 

   do 
   { 
      $pic_filename = md5(uniqid(rand())) . $pic_filetype; 
   } 
   while( file_exists($path . $pic_filename) ); 


   // -------------------------------- 
   // Move this file to upload directory 
   // -------------------------------- 

   $ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var'; 

   if ( @$ini_val('open_basedir') != '' ) 
   { 
      if ( @phpversion() < '4.0.3' ) 
      { 
         die("open_basedir is set and your PHP version does not allow move_uploaded_file<br /><br />Please contact your server admin"); 
      } 

      $move_file = 'move_uploaded_file'; 
   } 
   else 
   { 
      $move_file = 'copy'; 
   } 

   $move_file($filetmp, $path . $pic_filename); 

   @chmod($path . $pic_filename, 0777); 


   // -------------------------------- 
   // Well, it's an image. Check its image size 
   // -------------------------------- 

   $pic_size = getimagesize($path . $pic_filename); 

   $pic_width = $pic_size[0]; 
   $pic_height = $pic_size[1]; 


   // -------------------------------- 
   // This image is okay, we can cache its thumbnail now 
   // -------------------------------- 

   if($pic_filetype != '.gif') 
   { 
      $gd_errored = FALSE; 

      switch ($pic_filetype) 
      { 
         case '.jpg': 
            $read_function = 'imagecreatefromjpeg'; 
            break; 
         case '.png': 
            $read_function = 'imagecreatefrompng'; 
            break; 
      } 

      $src = @$read_function($path  . $pic_filename); 

      if (!$src) 
      { 
         $gd_errored = TRUE; 
         $pic_thumbnail = ''; 
      } 
      else if( ($pic_width > $config_thumb_width) or ($pic_height > $config_thumb_height) ) 
      { 
         // Resize it 
         if ($pic_width > $pic_height) 
         { 
            $thumbnail_width = $config_thumb_width; 
            $thumbnail_height = $config_thumb_width * ($pic_height/$pic_width); 
         } 
         else 
         { 
            $thumbnail_height = $config_thumb_height; 
            $thumbnail_width = $config_thumb_height * ($pic_width/$pic_height); 
         } 

         $thumbnail = @imagecreatetruecolor($thumbnail_width, $thumbnail_height); 

         $resize_function = 'imagecopyresampled'; 

         @$resize_function($thumbnail, $src, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $pic_width, $pic_height); 
      } 
      else 
      { 
         $thumbnail = $src; 
      } 

      if (!$gd_errored) 
      { 
         $pic_thumbnail = $pic_filename; 

         // Write to disk 
         switch ($pic_filetype) 
         { 
            case '.jpg': 
               @imagejpeg($thumbnail, $thumb_path . $pic_thumbnail, $resizequality); 
               break; 
            case '.png': 
               @imagepng($thumbnail, $thumb_path . $pic_thumbnail); 
               break; 
         } 

         @chmod($thumb_path . $pic_thumbnail, 0777); 

      } // End IF $gd_errored 

   } // End Thumbnail Cache 


  // -------------------------------------- 
  // OK lets resize the original picture 
  // -------------------------------------- 

  if($pic_filetype != '.gif') 
  { 
    $gd_errored = FALSE; 

    switch ($pic_filetype) 
    { 
      case '.jpg': 
        $read_function = 'imagecreatefromjpeg'; 
        break; 
      case '.png': 
        $read_function = 'imagecreatefrompng'; 
        break; 
    } 

    $src = @$read_function($path  . $pic_filename); 

    if (!$src) 
    { 
      $gd_errored = TRUE; 
      $pic_resize = ''; 
    } 
    else if( ($pic_width > $config_width) or ($pic_height > $config_height) ) 
    { 
      // Resize it 
      if ( (($pic_width / $pic_height) > ($config_width / $config_height)) ) 
      { 
        $resize_width = $config_width; 
        $resize_height = $config_width * ($pic_height/$pic_width); 
      } 
      else 
      { 
        $resize_height = $config_height; 
        $resize_width = $config_height * ($pic_width/$pic_height); 
      } 

      $resize = @imagecreatetruecolor($resize_width, $resize_height); 

      $resize_function = 'imagecopyresampled'; 

      @$resize_function($resize, $src, 0, 0, 0, 0, $resize_width, $resize_height, $pic_width, $pic_height); 
    } 
    else 
    { 
      $resize = $src; 
    } 

    if (!$gd_errored) 
    { 
      $pic_resize = $pic_filename; 

      // Write to disk 
      switch ($pic_filetype) 
      { 
        case '.jpg': 
          @imagejpeg($resize, $path . $pic_resize, $resizequality); 
          break; 
        case '.png': 
          @imagepng($resize, $path . $pic_resize); 
          break; 
      } 

      @chmod($path . $pic_resize, 0777); 

    } // End IF $gd_errored 

  } // End Picture Resize 

      echo "<br><br><b><u>Url des Bildes:</u></b><br><br>".$deindomain.$path.$pic_filename;
      echo "<br><br><br><b><u>HTML Code zum einbinden:</u></b><br><br>".$html.$deindomain.$html1.$deindomain.$path.$pic_filename.$html2; 
     echo "<br><br><br><b><u>BBCode zum einbinden:</u></b><br><br>".$bbcode.$deindomain.$path.$pic_filename.$bbcode1; 
     echo "<br><br><br><br><br>Deine IP (<u>$ip</u>) wurde gespeichert!"; 

   } 
} else { ?>
Wäre nett wenn mir wer helfen könnte.

MfG Steiner
 

sokie

Mod | Web

AW: Problem mit Bilderupload!

was ist $action ?
in der letzten Zeile machst du noch einmal einen else{ block auf, der nicht geschlossen ist.

bitte lesen:
 
Zuletzt bearbeitet:

steiner93

PHP Newbie

AW: Problem mit Bilderupload!

was ist $action ?
in der letzten Zeile machst du noch einmal einen else{ block auf, der nicht geschlossen ist.

bitte lesen:

Hmm der else block muss anscheinend auf weil wenn ich den rausnehme kommt ein fehler.

Das ist der code für die form und da wird der else block auch geschlossen.
PHP:
<form method="post" enctype="multipart/form-data" name="action" action="index.php"> 
<input type="hidden" name="MAX_FILE_SIZE" value="4000000"> 
<input name="pic_file" type="file" size="30"> 
<br> 
<br> 
<input type="submit" name="action" value="Upload"> 
</form> 
<? 
 } 
   // ----------------------------------------- 
   // Das Script kann unter Verwendung 
   // dieses Vermerks uneingeschränkt 
   // genutzt / verändert werden. 
   //  © www.marc-gutt.de 
   // ----------------------------------------- 
?>
Edit: Ihm scheint das action ein problem zu machen hier die fehlermeldung: Notice: Undefined variable: action in /var/www/vhosts/creative-designs.eu/httpdocs/upload/index.php on line 20

THREAD KANN GESCHLOSSEN WERDEN HABE DAS PROBLEM GEFUNDEN!
 
Zuletzt bearbeitet:

sokie

Mod | Web

AW: Problem mit Bilderupload!

if ($action) ..
ist immer false, wenn nicht in REGISTER_GLOBALS auf 'on' gesetzt ist (was aus Sicherheitsgründen normalerweise nicht der Fall ist, und bei so einem 'öffentlichen' Script auch gar nicht sein dürfte).
mach es einfach per $_POST['action'], dann sollte auch was drinstehen, wenn submit geklickt wurde. (dass das 'form' auch noch den namen 'action' hat ist nicht unbedingt gut.)

ps. es ist schon ein bisschen unglücklich, wenn du hier code postest, in dem in Fehler zu suchen ist, und dann einen Teil weglässt...
 
Zuletzt bearbeitet:

ak56Lk

Noch nicht viel geschrieben

AW: Problem mit Bilderupload!

if ($action) ..
ist immer false, wenn nicht in REGISTER_GLOBALS auf 'on' gesetzt ist (was aus Sicherheitsgründen normalerweise nicht der Fall ist, und bei so einem 'öffentlichen' Script auch gar nicht sein dürfte).[...]
und wird ab PHP6 nicht mehr unterstützt bzw. gibt es dann zum Glück nicht mehr. Oder hat sich das wieder geändert?

Die Form kann ruhig name="action" haben, denn die Form wird nicht übertragen.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben