Riesen Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Riesen Problem

    Hallo,

    ich habe folgendes Problem. Wenn ich in meiner Eingabemaske ein Bild auf den Server hochladen möchte steigt mir das System mit der Fehlermeldung:
    Bilder müssen vom Typ gif oder jpg sein aus.

    Hier das Verkaufsskript (Auszug):

    PHP-Code:

                      $title 
    $sessionVars["SELL_title"];
                      
    $description $sessionVars["SELL_description"];
                      
    $pict_url $sessionVars["SELL_pict_url_original"];
                      
    $atype $sessionVars["SELL_atype"];
                      
    $iquantity $sessionVars["SELL_iquantity"];
                      
    $minimum_bid $sessionVars["SELL_minimum_bid"];
                      
    $with_reserve = ($sessionVars["SELL_with_reserve"])?"ja":"nein";
                      
    $payment $sessionVars["SELL_payment"];
                      
    $duration $sessionVars["SELL_duration"];
                      
    $country $sessionVars["SELL_country"];
                      
    $location_zip $sessionVars["SELL_location_zip"];
                      
    $shipping $sessionVars["SELL_shipping"];
                      
    $international = ($sessionVars["SELL_international"])?"ja":"nein";
                      
    $category1 $sessionVars["SELL_category"];
                      
    $imgtype $sessionVars["SELL_imgtype"];
                      
    $zustand $sessionVars["SELL_zustand"];
                      
    $fett $sessionVars["SELL_fett"];
                      
    $marker $sessionVars["SELL_marker"];
                      
    $topkat $sessionVars["SELL_topkat"];
                      
    $bild2 $sessionVars["SELL_bild2"];
                      
    $bild3 $sessionVars["SELL_bild3"];
                      
    $artnr $sessionVars["SELL_artnr"];
                      
    $fett_preis $sessionVars["SELL_fettpreis"];
                      
    $marker_preis $sessionVars["SELL_markerpreis"];
                      
    $topkat_preis $sessionVars["SELL_topkatpreis"];
                      
    $bild2_preis $sessionVars["SELL_bild2preis"];
                      
    $bild3_preis $sessionVars["SELL_bild3preis"];
                      
    $buy_now $sessionVars["SELL_buy_now"];
                    }
                    else
                    {
                            
    // auction type
                            
    reset($auction_types);
                            list(
    $atype,) = each($auction_types);

                            
    // quantity of items
                            
    $iquantity 1;


                            
    // country
                            // BM 28.2.
                            //reset($countries);
                            //list($country,) = each($countries);


                            // shipping
                            
    $shipping 1;

                            
    // image type
                            
    $imgtype 1;

                            
    $with_reserve "nein";
                    }
            }



    // Oder Aktion = 'first' / Erstaufruf++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            
    elseif ($action=='first')
            {
              unset(
    $auction_id);
              
    $ERR "ERR_".CheckSellData();

              
    // if no other errors - handle upload here
              
    if (!$$ERR)
              {
                unset(
    $file_uploaded);

                
    // Auktions-ID generieren
                
    $auction_id generate_id();

                if ( 
    $userfile <> "none" )
                {
                  
    $inf GetImageSize $userfile );
                  if (
    $userfile2 <> "none")
                    
    $inf2 GetImageSize $userfile2 );
                  if (
    $userfile3 <> "none")
                    
    $inf3 GetImageSize $userfile3 );

                  
    $er false;
                  
    // make a check
                  
    if ($inf)
                  {
                    
    $inf[2] = intval($inf[2]); // check for uploaded file type
                    
    if ($userfile2 <> "none")
                      
    $inf2[2] = intval($inf2[2]);
                    if (
    $userfile3 <> "none")
                      
    $inf3[2] = intval($inf3[2]);

                    if ( (
    $inf[2]!=1) && ($inf[2]!=2) )
                    {
                      
    $er true;
                      
    $ERR "ERR_602";
                    }
                    else
                    {
                      
    // check for file size
                      
    if ( intval($userfile_size)>$MAX_UPLOAD_SIZE )
                      {
                              
    $er true;
                              
    $ERR "ERR_603";
                      }
                    }

                    if (
    $userfile2 <> "none")
                    {
                      if ( (
    $inf2[2]!=1) && ($inf2[2]!=2) )
                      {
                        
    $er true;
                        
    $ERR "ERR_602_2";
                      }
                      else
                      {
                        
    // check for file size
                        
    if ( intval($userfile2_size)>$MAX_UPLOAD_SIZE )
                        {
                          
    $er true;
                          
    $ERR "ERR_603_2";
                        }
                      }
                    }

                    if (
    $userfile3 <> "none")
                    {
                      if ( (
    $inf2[2]!=1) && ($inf2[2]!=2) )
                      {
                        
    $er true;
                        
    $ERR "ERR_602_3";
                      }
                      else
                      {
                        
    // check for file size
                        
    if ( intval($userfile3_size)>$MAX_UPLOAD_SIZE )
                        {
                          
    $er true;
                          
    $ERR "ERR_603_3";
                        }
                      }
                    }

                  }
                  else
                  {
                          
    $ERR "ERR_602";
                          
    $er true;
                  }

                  if (!
    $er)
                  {
                    
    // Bild 1 wirklich speichern
                    
    $ext = ($inf[2]==1)?".gif":".jpg";
                    
    $fname $image_upload_path.$auction_id.$ext;
                    if (
    file_exists($fname))
                      
    unlink ($fname);
                    
    copy ($userfile$fname);
                    
    $uploaded_filename $auction_id.$ext;
                    
    $file_uploaded true;

                    
    // Bild 2 wirklich speichern
                    
    if ($userfile2 <> "none")
                    {
                      
    $ext = ($inf[2]==1)?".gif":".jpg";
                      
    $fname $image_upload_path.$auction_id."_2".$ext;

                      if ( 
    file_exists($fname) )
                              
    unlink ($fname);
                      
    copy $userfile2$fname );
                      
    $uploaded_filename2 $auction_id."_2".$ext;
                      
    $file_uploaded true;
                    }

                    
    // Bild 3 wirklich speichern
                    
    if ($userfile3 <> "none")
                    {
                      
    $ext = ($inf[2]==1)?".gif":".jpg";
                      
    $fname $image_upload_path.$auction_id."_3".$ext;

                      if ( 
    file_exists($fname) )
                              
    unlink ($fname);
                      
    copy $userfile3$fname );
                      
    $uploaded_filename3 $auction_id."_3".$ext;
                      
    $file_uploaded true;
                    }
                  }
                  else
                  {
                    
    // Fehler!!
                    
    unset($file_uploaded);
                    
    $userfile2 "none";
                    
    $userfile3 "none";
                  }

                }
                else
                {
                  unset(
    $file_uploaded);
                  
    $userfile2 "none";
                  
    $userfile3 "none";
                }


              }
            }

    /*
            Erstaufruf oder Fehler in den Daten -> Eingabemaske nochmal anzeigen
    */
            
    if ( empty($action) || (($action=='first')&&($$ERR)) )
            {
                    include 
    "header.php";

                            
    $titleH htmlspecialchars($title);
                            
    $descriptionH htmlspecialchars($description);
                            
    $pict_urlH htmlspecialchars($pict_url); 
    Brauche dringend Hilfe da ich sonst nicht weiterkomme.

    Danke schon im vorraus.

  • #2
    und wo ist nun genau das problem?
    willst du auch andere bildformate zulassen?
    lassen sich GIFs & JPGs denn hochladen?
    Kissolino.com

    Kommentar


    • #3
      Nein, ich möchte nur gif und jpg wie definiert zulassen.

      Anbei mal der Auszug aus der config.inc.php:

      PHP-Code:

      $image_upload_path 
      "uploaded/";
        
      $thumb_upload_path "thumbs/";


        
      // ... und hier das Uploadverzeichnis mit Endslash.
        
      $uploaded_path "uploaded/";
        
      $thumb_path "thumbs/";



        
      // Maximale Bildgröße für den Bilder-Upload (in Byte)

        
      $MAX_UPLOAD_SIZE 275000
      Danke

      Kommentar


      • #4
        vieleicht nochmal was zur Bildschirmausgabe:

        Warning: getimagesize() [function.getimagesize]: open_basedir restriction in effect. File(/tmp/phpqLxDUf) is not within the allowed path(s): (/home/www/htdocs/p-2c.de/.) in /home/www/htdocs/p-2c.de/sell.php on line 172

        Warning: getimagesize(/tmp/phpqLxDUf) [function.getimagesize]: failed to create stream: Operation not permitted in /home/www/htdocs/p-2c.de/sell.php on line 172

        Dies ist die Fehlermeldung die ich beim hochladen bekomme.

        Kommentar


        • #5
          na bitte, geht doch

          so, die warnings zeigen dir, dass du mit getimagesize() keinen zugriff
          auf das temporäre verzeichnis des servers hast (php-manual=>safe_mode). wenn sich das nicht
          ändern lässt, musst du den upload anders gestalten.

          vielleicht hilft der schnell-schnipsel weiter

          PHP-Code:
          // file-field mit name "bild"

          if(preg_match("/image\/(gif|jpeg|x-jpeg|pjpeg|x-png|png)/",$bild_type))
          {
          switch (
          $bild_type// endung zuweisen
              
          {
               case 
          "jpeg":
               
          $ext "jpg";
               break;
               case 
          "pjpeg":
               
          $ext "jpg";
               break;
               case 
          "x-jpeg":
               
          $ext "jpg";
               break;
               case 
          "gif":
               
          $ext "gif";
               break;
               case 
          "x-png":
               
          $ext "png";
               break;
               case 
          "png":
               
          $ext "png";
               break;
              }

          $bild_name "abs_pfad_zum_bildverz/neuername.".$ext// chmod 777 nicht vergessen
          move_uploaded_file($bild,$bild_name);

          musst ihn ein wenig anpassen und max_filesize einfügen.
          Kissolino.com

          Kommentar


          • #6
            gleiches Problem mit dem Script

            Hallo,

            ich hoffe mir kann hier geholfen werden :-)
            Habe das gleiche Problem wie der Gründer dieses Toppics.

            Das Problem zeigt sich wie folgt:

            Eingabemaske: Es stehen 3 Filefelder zur Verfügung.

            Wähle ich keine Datei, so bekomme ich die Fehlermeldung:
            Bild1: Bilder müssen vom Typ GIF oder JPG sein!

            Wähle ich nur 1-ne Datei in Feld 1, so bekomme ich die Fehlermeldung:
            Bild3: Bilder müssen vom Typ GIF oder JPG sein!

            Wähle ich für alle 3 Felder eine Datei, so erfolgt der Upload einwandfrei.

            Ich werd noch bekloppt an dem Script.

            Im Vorraus besten Dank
            Griddie

            Kommentar


            • #7
              @griddie
              na dann prüfe doch vorher ob deine bilder vorhanden (upgeloadet) sind, bevor du sie mit getimagessize oder anderen funktionen verwendest
              ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
              und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

              Kommentar


              • #8
                @muecke0815: Danke für die schnelle Antwort :-) könntest Du mir dabei behilflich sein ?
                Bin zwar ein wenig bewandert in Sachen PHP, aber Dateiuploadfunktionen sind noch nicht so mein Ding fürchte ich. Würde Dir das komplette Script hier posten wenn Du die Änderung kurz machen könntest.

                Gruss
                Griddie

                Kommentar


                • #9
                  OffTopic:
                  ich glaub nicht, dass dir das mal eben einer macht.


                  nützliches zum file-upload:
                  http://de3.php.net/manual/de/feature...ad.post-method

                  die prüfung, ob eine datei übertragen wurde, läuft zB so:
                  http://de3.php.net/manual/de/functio...oaded-file.php

                  statt copy() solltest du move_uploaded_file() nehmen.
                  Kissolino.com

                  Kommentar


                  • #10
                    OffTopic:
                    business-scripts.de

                    Kommentar


                    • #11
                      Fehlerlösung des vorher genannten Problems

                      Ich danke erstmal denen die versucht haben mich bei meinem Problem weiterzubringen.
                      Die Lösung ist nun endlich gefunden und das Script läuft einwandfrei :-)

                      Lösung:

                      [COLOR=crimson]if ( $userfile <> "none" )[/COLOR] funktioniert nicht in PHP Version 4.3.1

                      in dieser PHP Version ist es notwendig die Zeile wie folgt zu ändern:

                      [COLOR=crimson]if ( $userfile <> "" )[/COLOR] *Man sehe, das "none" wird nicht ausgewertet.*

                      Man suche einfach mit "Textpad" in der Datei "sell.php" nach ("none") und ersetze dies durch nichts :-)

                      In anderen Versionen von PHP muss man dies unter Umständen nicht ändern. Habe es nicht unter anderen Versionen getestet, da hier die Fehlersuche endlich ein Ende hatte *bg*

                      [COLOR=crimson]!!!Wichtig!!![/COLOR]
                      Nur das none entfernen. Die Anführungszeichen MÜSSEN erhalten bleiben. Da sonst garnix mehr geht hihi...

                      Gruss
                      Griddie
                      Zuletzt geändert von griddie; 18.12.2003, 15:04.

                      Kommentar


                      • #12
                        kann ja kaum glauben, dass es none (dazu noch als String) in PHP gibt oder gegebenhat. kann das jemand bestätigen?

                        Statt

                        ($userfile <> "" )

                        kannst du auch

                        ($userfile != "" )

                        oder noch besser

                        (!empty($userfile))

                        benutzen.

                        Kommentar


                        • #13
                          Original geschrieben von TobiaZ
                          kann ja kaum glauben, dass es none (dazu noch als String) in PHP gibt oder gegebenhat. kann das jemand bestätigen?
                          irgendwas in der art hatte ich mal (php4.1.1, register-globals on) ... war doof, wenn man auf empty() geprüft hat.
                          Kissolino.com

                          Kommentar


                          • #14
                            also was sich die lieben zendler bei sowas denken... naja, geht nichts über ordentliche saubere programmierung.

                            Kommentar


                            • #15
                              PHP-Code:
                              if ($userfile3 <> "none"
                              Was bedeutet denn "<>" ?

                              Also auf den ersten Blick erscheint es mir wie ein synonym zu "!=" ("kleiner" oder "größer" also "ungleich")?

                              Aber ich bin mir nicht sicher.
                              Visit my php blog!

                              Kommentar

                              Lädt...
                              X