Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Bildupload Script

Einklappen

Neue Werbung 2019

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

  • Problem mit Bildupload Script

    Hallo zusammen!

    Ich war schon seit ewiger Zeit auf der Suche nach einem passenden Bildupload script für meine Website und bin nun endlich fündig geworden: Script PHP + MySQL: Bilderupload

    Es handelt sich um ein relativ einfaches script, das aus einer Datei namens bildup.php und einem dazugehörigen leeren Ordner namens "bildup" besteht. Die oben genannte Seite liefert eine genaue Anleitung für die Installation des Scriptes, an die ich mich gehalten habe. Jedoch funktioniert das ganze nicht so wie es sollte und ich kann den Fehler nicht finden.

    Unter folgender URL kann das Script wie ich es installiert habe aufgerufen werden: http://www.36t.ch/database/bildup.php

    Die Datenbanktabellen wurden meiner Meinung nach richtig erstellt. Ebenso kann die php Datei eine Verbindung mit der MySql Datenbank herstellen.

    Die Datei "bildup.php" wie sie jetzt auf dem Server ist, kann hier heruntergeladen werden: http://www.36t.ch/database/bildup/bildup.zip

    ich wäre wirklich froh, wenn ihr mir helfen könntet!!!
    Vielen Dank im voraus!

  • #2
    In den betreffenden Zeilen wird eine Variable $conn eingesetzt die vorher nirgendswo auftaucht oder deklariert wird im Script.
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    [URL]http://www.lit-web.de[/URL]

    Kommentar


    • #3
      ahh super jetzt funktionierts! Danke!! =)

      Kommentar


      • #4
        Hallo,

        der Thread ist zwar schon etwas älter, möchte ihn aber an dieser Stelle nochmals aufgreifen, da ich dieses Script nun ebenfalls ausprobiert habe und es auch bei mir nicht funktioniert.
        (@litterauspirna: die Variable @conn befindet sich in der inc.php)

        Die Datei bildup.php
        PHP-Code:
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html>
        <head>
        </head>

        <body>

        <?php
        include('inc.php');

        // Der Link zum Uploadverzeichnis
        $bildlink 'bildupload' ;
        // Für die DB, im Beispiel immer Satz-Nr. 1
        $selection ;

        // Bildbreite der zu erstellenden Bilder in Pixel festlegen.
        $bildbreite_norm  '200';
        $bildbreite_small '50';

        // löschen --------------------------------------------------------------------
        if (isset($_POST['delete'])) {
          
        $bild_bild strip_tags($_POST['bild_bild']);
          
        $bild_db   strip_tags($_POST['bild_db']);
            
          
        // löschen in Ordner   
          
        $bildteil split("[.]",$bild_bild) ;
          
        $bild_bild_norm $bildteil[0].'_norm.'.$bildteil[1] ;
          
        $bild_bild_small $bildteil[0].'_small.'.$bildteil[1] ;

          
        // Fehlermeldung vermeiden, falls Datei nicht vorhanden!
          
        $dateivorhanden_norm file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_norm) ; 
          if (
        $dateivorhanden_norm) {
            
        unlink$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_norm ) ;
          }     
          
        $dateivorhanden_small file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_small) ;   
          if (
        $dateivorhanden_small) {  
            
        unlink$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_bild_small ) ;
          }

          
        // leeren in der Datenbank
          
        $query " UPDATE bildup
          SET "
        .$bild_db." = ''
          WHERE id_bild = '"
        .$selection."' " ;
          
        $result mysql_query($query) ;
        }

        // hochladen ------------------------------------------------------------------
        if (isset($_POST['submit'])) {
          
        $id_bild    strip_tags($_POST['id_bild']);  
        //  $verfall    = strip_tags($_POST['verfall']);      // Hier nicht verwendet!
          
        $bildnummer strip_tags($_POST['bildnummer']);
                
          
        $dateiname  $_FILES['datei']['name'] ;
          
        $dateitype  $_FILES['datei']['type'] ;
          
        $dateisize  $_FILES['datei']['size'] ;
          
          
        // prüfen vor hochladen 
          
        if (empty($dateiname)) {
            
        $fehlermeldung '<span class="rot"><br /><br />
            Du musst eine Datei angeben!<br /><br /></span>' 
        ;
          }
          elseif ( 
        $dateisize '524000') {
            
        $fehlermeldung '<span class="rot"><br /><br />
            Deine Datei überschreitet die erlaubte
            Datei-Grösse von 500 kByte!<br /><br /></span>' 
        ;
          }
          elseif ( 
        strlen$dateiname ) > '25') {
            
        $dateinamengroesse strlen($dateiname) - 25 ;
            
        $fehlermeldung '<span class="rot"><br /><br />
            Der Dateiname überschreitet die maximal erlaubte Zeichenlänge
            um <strong>'
        .$dateinamengroesse.'</strong>Zeichen!<br />
            <br /></span>' 
        ;
          }
          elseif ( 
        $dateitype == 'image/jpeg' || $dateitype == 'image/pjpeg' || $dateitype == 'image/x-png' ) {
            
        //Wandelt einige Sonderzeichen um
            
        $dateiname1 strtr("$dateiname"" äöü�*ôûáèéçß""_aouaouaeecs") ;
            
        //Wandelt den Dateinamen in Kleinbuchstaben um
            
        $dateiname2 strtolower("$dateiname1") ;

            
        $bildteil split("[.]",$dateiname2) ;
            
        $dateivorhanden file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bildteil[0].'_norm.'.$bildteil[1]) ;

            if (
        $dateivorhanden) {
              
        $fehlermeldung '<span class="rot"><br /><br />
              Eine Datei mit dem Dateinamen <strong>'
        .$dateiname2.'</strong>
              ist bereits vorhanden, bitte wähle einen anderen Namen.<br />
              <br /></span>' 
        ;
            }
            else {
              
        // hochladen der Ursprungsdatei -----------------------------------------
              
        move_uploaded_file$_FILES['datei']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;

              
        // copy in Endverzeichnis
        //    copy($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2, $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
              // löschen temp-datei
        //    unlink( $_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;

              // nun Grösse bestimmen und berechnen
              
        $gross getimagesize$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
              
        $breite $gross[0] ;
              
        $hoehe $gross[1] ;
              
        $typ $gross[2] ;

              
        $hoehe_norm $hoehe $bildbreite_norm $breite ;
              
        $image_norm imagecreatetruecolor$bildbreite_norm $hoehe_norm ) ;

              
        $hoehe_small $hoehe $bildbreite_small $breite ;
              
        $image_small imagecreatetruecolor$bildbreite_small $hoehe_small ) ;

              
        // neue Bildnamen
              
        $bild_s split("[.]",$dateiname2);
              
        $dateiname2_norm $bild_s[0].'_norm.'.$bild_s[1] ;
              
        $dateiname2_small $bild_s[0].'_small.'.$bild_s[1] ;

              
        // Normbild erstellen
              
        switch ($typ) {
                case 
        2:
                  
        $image imagecreatefromjpeg$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
                  break;
                case 
        3:
                  
        $image imagecreatefrompng$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
                  break;
              }
              
        imagecopyresampled($image_norm$image0000$bildbreite_norm$hoehe_norm$breite$hoehe);

              switch (
        $typ) {
                case 
        2:
                  
        imagejpeg($image_norm$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_norm 100 );
                  break;
                case 
        3:
                  
        imagepng($image_norm$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_norm );
                  break;
              }

              
        // Smallbild erstellen
              
        switch ($typ) {
                case 
        2:
                  
        $image imagecreatefromjpeg$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
                  break;
                case 
        3:
                  
        $image imagecreatefrompng$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ;
                  break;
              }
              
        imagecopyresampled($image_small$image0000$bildbreite_small$hoehe_small$breite$hoehe);

              switch (
        $typ) {
                case 
        2:
                  
        imagejpeg($image_small$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_small );
                  break;
                case 
        3:
                  
        imagepng($image_small$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2_small );
                  break;
              }

              
        // Ursprüngliches Bild löschen
              
        unlink$_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$dateiname2 ) ; // zur Probe auskommentieren!

              // DB eintragen
              
        $query "UPDATE bildup
              SET "
        .$bildnummer." = '".$dateiname2."', verfall = ".$verfall."
              WHERE id_bild = "
        .$id_bild." " 
              
        mysql_query($query$conn);

              
        $fehlermeldung '<br /><br />Dein Foto <strong>'.$dateiname2.'</strong>
              wurde erfolgreich abgeschickt!<br /><br />' 
        ;
            }
          }
          else {
            
        $fehlermeldung '<span class="rot"><br /><br />
            Es werden nur Dateien von folgendem Typ zum Upload akzeptiert:<br /><br />
            <strong>jpeg, jpg, jpe, png</strong><br /><br />
            Dein Datei-Typ: '
        .$dateitype.'<br /><br /></span>';
          }

          
        // auf NULL setzen ---------------------------
          
        $submit "" $dateityp "" $dateiname "" $dateiname2 "" ;
          
        $dateiname2_small "" ;
          
        $hoehe "" $breite "" ;
        }

        // aus DB zur Anzeige ---------------------------------------------------------

        $query " SELECT *
        FROM bildup
        WHERE id_bild = '"
        .$selection."' " ;
        $result mysql_query($query$conn);
        $row mysql_fetch_array($result);

        $bild_1 $row['bild_1'] ;
        if (
        $bild_1 != '') {
          
        $bild_1_s split("[.]",$bild_1);
          
        $bild_1_norm $bild_1_s[0].'_norm.'.$bild_1_s[1];
          
        $bild_1_small $bild_1_s[0].'_small.'.$bild_1_s[1];
          
        $gross1_norm getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_1_norm);
          
        $gross1_small getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_1_small);
        }
        $bild_2 $row['bild_2'] ;
        if (
        $bild_2 != '') {
          
        $bild_2_s split("[.]",$bild_2);
          
        $bild_2_norm $bild_2_s[0].'_norm.'.$bild_2_s[1];
          
        $bild_2_small $bild_2_s[0].'_small.'.$bild_2_s[1];
          
        $gross2_norm getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_2_norm);
          
        $gross2_small getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_2_small);
        }
        $bild_3 $row['bild_3'] ;
        if (
        $bild_3 != '') {
          
        $bild_3_s split("[.]",$bild_3);
          
        $bild_3_norm $bild_3_s[0].'_norm.'.$bild_3_s[1];
          
        $bild_3_small $bild_3_s[0].'_small.'.$bild_3_s[1];
          
        $gross3_norm getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_3_norm);
          
        $gross3_small getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$bildlink.'/'.$bild_3_small);
        }

        // welche Bilder werden als nächstes hochgeladen
        if ( $bild_3 == "" ) { $bildnr "bild_3" $titeltext "Foto 3, Bildtitel 3" ; }
        if ( 
        $bild_2 == "" ) { $bildnr "bild_2" $titeltext "Foto 2, Bildtitel 2" ; }
        if ( 
        $bild_1 == "" ) { $bildnr "bild_1" $titeltext "Foto 1, Bildtitel 1" ; }
        ?>

        <h2>Beispiel</h2>

        <center>
        <?php echo $fehlermeldung ?>
        <table>
          <colgroup>
            <col width="50" />  
            <col width="200" />
            <col />             
          </colgroup>
          <tr>
            <td>
              <strong>Foto 1</strong><br />
        <?php
        if ( $bild_1 != "" ) {
          echo 
        '
              <div>
              <img src="/'
        .$bildlink.'/'.$bild_1_small.'" alt="Bildtitel 1" title="Bildtitel 1" width="'.$bildbreite_small.'" height="'.$gross1_small[1].'" />
              </div>
            </td>
            <td>
              Bildtitel 1<div>
              <img src="/'
        .$bildlink.'/'.$bild_1_norm.'" alt="Bildtitel 1" title="Bildtitel 1" width="'.$bildbreite_norm.'" height="'.$gross1_norm[1].'" />
              </div>
            </td>
            <td class="rechts">
              '
        .$bild_1.'<br /><br />
              <form action ="'
        .htmlspecialchars($_SERVER['PHP_SELF']).'" method ="post" name="meldung">
                <input type="hidden" name="bild_db" value="bild_1" />
                <input type="hidden" name="bild_bild" value="'
        .$bild_1.'" />
                <input class="norm" type="submit" name="delete" value="Löschen" />
              </form>
          '
        ;
        }
        else {
          echo 
        '
            </td>
            <td>Bildtitel 1</td>
            <td class="rechts">Kein Bild!
          ' 
        ;
        }
        ?>
            </td>
          </tr>
          <tr><td colspan="3"><hr /></td></tr>
          <tr>
            <td>
              <strong>Foto 2</strong><br />
        <?php
        if ( $bild_2 != "" ) {
          echo 
        '
              <div>
              <img src="/'
        .$bildlink.'/'.$bild_2_small.'" alt="Bildtitel 2" title="Bildtitel 2" width="'.$bildbreite_small.'" height="'.$gross2_small[1].'" />
              </div>
            </td>
            <td>
              Bildtitel 2<div>
              <img src="/'
        .$bildlink.'/'.$bild_2_norm.'" alt="Bildtitel 2" title="Bildtitel 2" width="'.$bildbreite_norm.'" height="'.$gross2_norm[1].'" />
              </div>
            </td>
            <td class="rechts">
              '
        .$bild_2.'<br /><br />
              <form action ="'
        .htmlspecialchars($_SERVER['PHP_SELF']).'" method ="post" name="meldung">
                <input type="hidden" name="bild_db" value="bild_2" />
                <input type="hidden" name="bild_bild" value="'
        .$bild_2.'" />
                <input class="norm" type="submit" name="delete" value="Löschen" />
              </form>
          '
        ;
        }
        else {
          echo 
        '
            </td>
            <td>Bildtitel 2</td>
            <td class="rechts">Kein Bild!
          ' 
        ;
        }
        ?>
            </td>
          </tr>
          <tr><td colspan="3"><hr /></td></tr>
          <tr>
            <td>
              <strong>Foto 3</strong><br />
        <?php
        if ( $bild_3 != "" ) {
          echo 
        '
              <div>
              <img src="/'
        .$bildlink.'/'.$bild_3_small.'" alt="Bildtitel 3" title="Bildtitel 3" width="'.$bildbreite_small.'" height="'.$gross3_small[1].'" />
              </div>
            </td>
            <td>
              Bildtitel 3<div>
              <img src="/'
        .$bildlink.'/'.$bild_3_norm.'" alt="Bildtitel 3" title="Bildtitel 3" width="'.$bildbreite_norm.'" height="'.$gross3_norm[1].'" />
              </div>
            </td>
            <td class="rechts">
              '
        .$bild_3.'<br /><br />
              <form action ="'
        .htmlspecialchars($_SERVER['PHP_SELF']).'" method ="post" name="meldung">
                <input type="hidden" name="bild_db" value="bild_3" />
                <input type="hidden" name="bild_bild" value="'
        .$bild_3.'" />
                <input class="norm" type="submit" name="delete" value="Löschen" />
              </form>
          '
        ;
        }
        else {
          echo 
        '
            </td>
            <td>Bildtitel 3</td>
            <td class="rechts">Kein Bild!
          ' 
        ;
        }
        ?>
            </td>
          </tr>
        </table>
        </center>

        <?php
        // Löschzeitpunkt festlegen, hier nicht verwendet!
        $verfall time() + 3600 // jetzt plus 60 Min.

        // Formular zum Hochladen -----------------------------------------------------
        if ( $bild_1 == "" || $bild_2 == "" || $bild_3 == "" ) {
          echo 
        '
        <form method="post" action="'
        .htmlspecialchars($_SERVER['PHP_SELF']).'" enctype="multipart/form-data" name="meldung">
        <table>
          <tr>
            <td>
              Es wird hochgeladen: <strong>'
        .$titeltext.'<br />
              Dateiname:</strong>
              <input type="file" name="datei" size="80" />
            </td>
          </tr>
          <tr>
            <td>
              <input type="hidden" name="id_bild" value="'
        .$selection.'" />
              <input type="hidden" name="verfall" value="'
        .$verfall.'" />
              <input type="hidden" name="bildnummer" value="'
        .$bildnr.'" />
              <input class="norm" type="submit" value="hochladen" name="submit" />
            </td>
          </tr>
        </table>
        </form>
          '
        ;
        }
        else {
          echo 
        '<center><div class="rot">Es können keine weiteren Bilder
          hochgeladen werden.</div></center>' 
        ;
        }
        ?>

        </body>
        </html>
        Die Datei inc.php
        PHP-Code:
        <?php
        # Variablen -------------
        $liveserver "xxx.de"# Adresse des Liveservers ohne "www"
        # MySQL Zugang ----------
        $user   "xxxx";  # Username für die MySQL-DB
        $pass   "xxxx";  # Kennwort für die MySQL-DB
        $server "localhost"# Adresse/IP/Name des MySQL-Server
        $dbase  "xxxx";  # Name der standardmaessig verwendeten Datenbank

        $conn = @mysql_connect($server$user$pass);

        if(
        $conn) {
          
        mysql_select_db($dbase$conn);
        }
        else {
          echo 
        '
          <center><span class="rot">
          <strong>Eine Verbindung zur Datenbank konnte nicht hergestellt werden.<br />
          Die Seite wird dadurch nicht richtig angezeigt!</strong>
          </span></center>
          '
        ;
          
        error_log ('Fehler beim Verbindungsaufbau zu MySQL'1'xx@xx.xx');
        }
        ?>
        Die Tabelle wurde in der DB wurde erstellt und auch die richtigen Zugangsdaten in der inc.php eingetragen.

        Bei einem Bildupload werden zwar die zwei Bilddateien auf dem Server erstellt und die Originaldatei gelöscht, es findet sich jedoch kein Eintrag in der DB.
        Auf der Seite werden die Bilder dann auch nicht angezeigt.

        Hoffe, dass mir jemand weiterhelfen kann!!!

        Danke!

        Kommentar

        Lädt...
        X