tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
18
ZUGRIFFE
19630
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    pikus pikus ist offline Mitglied Silber
    Registriert seit
    May 2007
    Beiträge
    77
    hallo alle zusammen
    ich suche einen kompletten Bild upload Script für meine Community was auch das Bild auf eine bestimmte größe verkleinert. Es sollte 100 % funktionieren weil ich kenn mich noch nicht so gut in php aus.

    kan mir jemand helfen oder einen kompletten Script schicken?

    DANKE
     

  2. #2
    Avatar von wischmopp90
    wischmopp90 wischmopp90 ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Rheinland-Pfalz (Hillscheid)
    Beiträge
    126
    Hallo,

    kuck dir mal die Grafik-Funktionen von PHP an:
    http://www.php.net/manual/de/ref.image.php
     
    Web: spAps.de
    Other: Miranda IM, Firefox, Thunderbird, PHP, MySQL, JavaScript, NOD32, AMD & Windows User....

  3. #3
    pikus pikus ist offline Mitglied Silber
    Registriert seit
    May 2007
    Beiträge
    77
    Danke für die hilfe aber ich versteh da eigentlich garnichts
    ich wär glücklich wenn mir einer einen fetigen Script schicken würde!

    // EDIT
    ich hab hier ein script gefunden aber er kann bilder nur zu einer bestimmten grösse hochladen
    liegt es vieleicht an meinem funpic webspace?
    oder an dem Script?

    PHP-Code:
    <html> 
    <head> 
    <title>Upload</title> 
    </head> 
    <body> 
    <? 
    if($action){ 

       
    // -------------------------------- 
       // Diverse Variablen 
       // -------------------------------- 

    $path "images/typen/"// Url zum Speicherordner der großen Bilder 
    $thumb_path "images/typen/thumb/"// Url zum Speicherordner der Vorschaubilder 
    $config_width "320"// Bildbreite max. bei großem Bild 
    $config_height "240"// Bildhöhe max. bei großem Bild 
    $config_thumb_width "80"// Bildbreite max. bei Vorschaubild 
    $config_thumb_height "60"// Bildhöhe max. bei Vorschaubild 
    $resizequality "70"// Bildkompressionsrate 0-100 
    $deindomain "http://www...........de/";  // 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(
    "Falsches Dateiformat. Nur JPEG, GIF oder PNG erlaubt!"); 
       } 

       
    // -------------------------------- 
       // 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_filename0777); 


       
    // -------------------------------- 
       // 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$src0000$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_thumbnail0777); 

          } 
    // 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$src0000$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_resize0777); 

        } 
    // End IF $gd_errored 

      
    // End Picture Resize 

          
    echo "Datei ist auf dem Server! <br><br>"
          echo 
    "Url des großen Bildes: <a href=\"$deindomain$path$pic_filename\" target=\"_blank\">".$deindomain.$path.$pic_filename
         echo 
    "</a> <br><img src=\"$deindomain$path$pic_filename\"><br><br>"
          echo 
    "Url des Vorschaubildes: <a href=\"$deindomain$thumb_path$pic_filename\" target=\"_blank\">".$deindomain.$thumb_path.$pic_filename
         echo 
    "</a> <br><img src=\"$deindomain$thumb_path$pic_filename\">"

       } 
    } else { 
    ?> 

    <form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF ?>"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="4000000"> 
    <br> 
    <strong>File Upload</strong> <br> 
    <br> 
    <input name="pic_file" type="file" size=40> 
    <br> 
    <br> 
    <input type="submit" name="action" value="Speichern"> 
    </form> 
    <? 
     

       
    // ----------------------------------------- 
       // Das Script kann unter Verwendung 
       // dieses Vermerks uneingeschränkt 
       // genutzt / verändert werden. 
       //  © www.marc-gutt.de 
       // ----------------------------------------- 
    ?> 
    </body> 
    </html>
     

  4. #4
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Also ein bisschen Eigeninitiative ist doch nicht zuviel verlangt, oder?!

    Direkt bei den ersten Kommentaren steht doch schon alles erklärt, was man wissen braucht...
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  5. #5
    pikus pikus ist offline Mitglied Silber
    Registriert seit
    May 2007
    Beiträge
    77
    steht nicht drin wieso er bilder nur zu einer bestimmten größe hochladen kann
    und bei den größeren bleibt der Browser einfach weiß
     

  6. #6
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Ich seh gerade, dass das Script nicht mit den neuesten PHP Versionen arbeiten wird, da es auf alte Variablen zugreift, die meiner Meinung nach nicht mehr gesetzt sind.

    Du müsstest das ganze Skript umschreiben, damit es funktioniert.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  7. #7
    Avatar von nephix
    nephix nephix ist offline Mitglied Silber
    Registriert seit
    Feb 2004
    Beiträge
    90
    Hi,

    http://www.php-space.info/bilder-upload-script/
    (1min Google)
    Habs getestet funktioniert auch.
     
    :wq

  8. #8
    peper peper ist offline Mitglied Gold
    Registriert seit
    Dec 2006
    Beiträge
    175
    Zitat Zitat von Felix Jacobi
    Ich seh gerade, dass das Script nicht mit den neuesten PHP Versionen arbeiten wird, da es auf alte Variablen zugreift, die meiner Meinung nach nicht mehr gesetzt sind.

    Du müsstest das ganze Skript umschreiben, damit es funktioniert.
    Ehm magst du mir mal sagen was das bedeuten soll..Also welche es genau betrifft
    Ich arbeite schon recht lang mit dem script unter PHP 5...
    Hab ja schon sorgen das es mit 5.2.2 nicht klarkommt...Das wir morgen aufgespielt

    Ich hoffe es geht dann noch...

    edit: Aso ich habe aus dem Script die Gif Funktion entfernt da sie nicht richtig ging.
    Und noch einige andere unwichtige Funktionen hinzugefügt.

    LG Lars
    Geändert von peper (14.05.07 um 18:55 Uhr)
     

  9. #9
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Also bei mir (register_globals off, Safe Mode off) funktioniert z. B. $PHP_SELF nicht.

    Und auch wenn ich das ändere, macht das Skript erstmal gar nichts... Mich damit weiter zu beschäftigen hatte ich dann erstmal keine Lust mehr, sorry
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  10. #10
    peper peper ist offline Mitglied Gold
    Registriert seit
    Dec 2006
    Beiträge
    175
    Wenn du nochmal irgendwann Lust dazu hast, würde ich mich freuen, wenn du die Fehler die dir auffallen hier postest

    Was nimmt man eigentlich anstatt $PHPSelf
    etwa
    PHP-Code:
    $_SERVER['PHP_SELF'
    LG Lars
     

  11. #11
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Ja, nimmt man...

    Ich poste mir mal ein paar Sachen, die mir auffallen...
    • Statt $HTTP_POST_FILES => $_FILES nehmen
    • Statt den Type aus deinem Formular abzulesen, der sich nur auf die Dateiendung bezieht, solltest du lieber getimagesize() benutzen, dass im Array auch den Mime Type zurückgibt
    • Statt überall die Fehler zu unterdrücken per @ solltest du error_reporting() auf 0 stellen. Dies würde dir erleichtern bei möglichen Kunden schnell den Debug Mode anzustellen (error_reporting auf E_ALL) und zu schauen, wo der Fehler auftritt.
    • Außerdem solltest du, nach Erstellen des Thumbnails und Größere verändern, die alte Bildressource per imagedestroy() vernichten.

    Das ist alles was mir spontan auffällt
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  12. #12
    peper peper ist offline Mitglied Gold
    Registriert seit
    Dec 2006
    Beiträge
    175
    Okay da kümmere ich mich dann erstmal drum
    Danke erstmal..

    So soweit alles abgehakt..
    Ausser error Reporting:
    Ich denke dieses müsste in der PHP.ini geschehen.
    Oder
    Wenn ja müßte ich sie mir morgen mal freigeben lassen.
    LG Lars
    Geändert von peper (14.05.07 um 20:03 Uhr)
     

  13. #13
    Gunah Gunah ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    371
    denk dran das der upload bei funpic glaube nur 1MB pro datei ist... war zumindest mal so....


    MfG Gunah
     
    Meine Private Homepage: www.gunah.eu

  14. #14
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Zitat Zitat von peper Beitrag anzeigen
    So soweit alles abgehakt..
    Ausser error Reporting:
    Ich denke dieses müsste in der PHP.ini geschehen.
    Oder
    Wenn ja müßte ich sie mir morgen mal freigeben lassen.
    LG Lars
    Nein, error_reporting() ist ja eben dafür da, dass man es nicht in der php.ini ändern muss, sondern während der Laufzeit eines Skriptes ändern kann.

    Es kann natürlich sein, dass der Befehl von deinem Hoster deaktiviert wurde.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  15. #15
    peper peper ist offline Mitglied Gold
    Registriert seit
    Dec 2006
    Beiträge
    175
    Oki dann muß ich mal gucken wo ich den in das script packen kann...
    Danke auf jedenfall nochmal


    Den anderen Post mit dem Funpic verstehe ich irgendwie nicht...
    Wer hat den von Funpic gesprochen?

    LG Lars
     

Ähnliche Themen

  1. Upload Script - JPG KEIN Upload möglich
    Von Radanua im Forum PHP
    Antworten: 12
    Letzter Beitrag: 12.09.10, 21:32
  2. Antworten: 3
    Letzter Beitrag: 01.03.09, 15:03
  3. ImageMagick + bild upload + bild verkleinern
    Von oldputz1990 im Forum PHP
    Antworten: 15
    Letzter Beitrag: 29.10.06, 10:47
  4. Bild-Upload-Script, Bildergalerie
    Von Marvin im Forum PHP
    Antworten: 1
    Letzter Beitrag: 25.05.05, 15:19
  5. Antworten: 2
    Letzter Beitrag: 28.03.04, 16:53