Bildpfad in Tabelle eintragen

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

  • Bildpfad in Tabelle eintragen

    Hallo

    Über ein Upload-Form lade ich ein Bild hoch
    in der Tabelle steht dann der Name des Bildes z.B. 1.jpg
    ist es möglich dass wenn ich ein Bild hochlade
    folgendes in der tabelle steht:

    <img src=''fotos/1.jpg''>

    also der komplette Pfad?
    Wenn ja, wie bekomme ich das hin

    gruss an alle

  • #2
    ist es möglich dass wenn ich ein Bild hochlade
    folgendes in der tabelle steht:
    Wenn du mit Tabelle eine DB meinst, warum sollte das nicht gehen? Der User lädt das Bild hoch, du kopierst es in den entsprechenden Ordner --> also kennst du den Pfad --> also trägst du ihn in die DB ein.. (ich würde nur den Pfad ohne img-Tag speichern, dann kannst du den Pfad auch mal in einem Link angeben)

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Bildpfad in Tabelle eintragen

      ich brauche den img tag auch in der Tabelle der DB
      weil ich das Bild so ausgeben möchte:

      $sql="SELECT artID AS 'Artikel-Nr:', ";
      $sql.="bezeichnung AS 'Bezeichnung:', ";
      $sql.="(netto+(netto*mwst/100)) AS 'Preis:', ";
      $sql.="beschreibung AS 'Beschreibung:',";
      $sql.="foto AS 'Foto:' ";
      $sql.="FROM s_artikel ";
      $sql.="WHERE artID=".$_GET["artID"];
      $db->sql_befehl($sql);
      $array=$db->sql_in_spalte($sql, "Artikeldetails", "Preis:");


      nun muss ich nur noch wissen, wie ich den img tag in die tabelle bekomme

      so lade ich die sache hoch:

      if (isset($_POST["abschicken"])) {
      $foto = $_FILES['foto']['name'];
      $tmp_name = $_FILES['foto']['tmp_name'];
      $artikelnummer = isset($_POST['artikelnummer']) ? $_POST['artikelnummer'] : '';
      $bezeichnung = isset($_POST['bezeichnung']) ? $_POST['bezeichnung'] : '';
      $netto = isset($_POST['netto']) ? $_POST['netto'] : '';
      $beschreibung = isset($_POST['beschreibung']) ? $_POST['beschreibung'] : '';
      if (!isset($foto)) {exit;}


      gruss

      Kommentar


      • #4
        Re: Bildpfad in Tabelle eintragen

        Original geschrieben von nero25
        ich brauche den img tag auch in der Tabelle der DB
        weil ich das Bild so ausgeben möchte:

        $sql="SELECT artID AS 'Artikel-Nr:', ";
        $sql.="bezeichnung AS 'Bezeichnung:', ";
        $sql.="(netto+(netto*mwst/100)) AS 'Preis:', ";
        $sql.="beschreibung AS 'Beschreibung:',";
        $sql.="foto AS 'Foto:' ";
        $sql.="FROM s_artikel ";
        $sql.="WHERE artID=".$_GET["artID"];
        $db->sql_befehl($sql);
        $array=$db->sql_in_spalte($sql, "Artikeldetails", "Preis:");
        Ich sehe da überhaupt keine Ausgabe. Aber ich ahne, was es werden soll und imho ist das ... naja sagen wir mal es ist suboptimal.

        Zur Frage: Ein Image-Tag ist auch nur ein String, also wo genau klemmts?

        Kommentar


        • #5
          Wo/wie machst du den Eintrag der Daten in die DB? Und wo/wie verschiebst du das File aus dem Temp Upload Verzeichnis?
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Bildpfad in Tabelle eintragen

            Hier ist das Script für den Upload:

            <?php
            include("connect.php");
            // Abfrage, ob Formular abgeschickt worden ist
            // wenn ja, dann Definition der Upload-Variablen

            if (isset($_POST["abschicken"])) {
            $foto = $_FILES['foto']['name'];
            $tmp_name = $_FILES['foto']['tmp_name'];
            $artikelnummer = isset($_POST['artikelnummer']) ? $_POST['artikelnummer'] : '';
            $bezeichnung = isset($_POST['bezeichnung']) ? $_POST['bezeichnung'] : '';
            $netto = isset($_POST['netto']) ? $_POST['netto'] : '';
            $beschreibung = isset($_POST['beschreibung']) ? $_POST['beschreibung'] : '';
            if (!isset($foto)) {exit;}

            // Definition unterschiedlicher Fehlermeldungen

            if(!is_uploaded_file($tmp_name)) {
            echo 'Fehler!<br><ul>';
            switch ($_FILES['foto']['error']) {
            case 1: echo "<li>Die Datei überschreitet die
            maximale Größe von 2 Megabytes.";
            break;
            case 2: echo "<li>Die Datei überschreitet die
            maximale Größe von $_POST[MAX_FILE_SIZE] Bytes.";
            break;
            case 3: echo "<li>Die Datei wurde nur
            teilweise übertragen.";
            break;
            case 4: echo "<li>Sie haben vergessen,
            die zu überspielende Datei anzugeben.";
            break;
            }
            echo "</li></ul>";
            exit;
            }

            // Festlegen des Pfades mit Dateinamen.
            $uploadname ="../fotos/$foto";
            move_uploaded_file($tmp_name,$uploadname);
            // Einfügen eines Datensatzes zum Bild in Datenbank
            // Einfügen des Datensatzes

            $sql = "insert into s_artikel (artikelnummer,bezeichnung,netto,beschreibung,foto)
            Values ('$artikelnummer','$bezeichnung','$netto','$beschreibung','$foto')"
            or die ("SQL-Fehler = ".mysql_error());
            $rs = mysql_query($sql);
            mysql_close($verbindung);
            }

            ?>

            Kommentar


            • #7
              Cool mit dem script kann ich dir ja jeden scheiß hochladen prüfst du nicht den typ der datei?
              Signatur-Text ...

              Kommentar


              • #8
                PHP-Code:
                 $mime=array();
                 
                $mime[1]="image/gif";
                 
                $mime[2]="image/jpeg";
                 
                $mime[3]="image/png"

                $file_size=$_FILES['profimage']['size'];
                if(
                $file_size >= 51201){ 
                echo 
                'Dieses Bild &uuml;berschreitet die 50 Kbyte-Grenze!<br>'
                $insert "no";
                }
                $size getimagesize($_FILES['profimage']['tmp_name']);
                $type $_FILES['profimage']['type'];
                if(!
                in_array($type,$mime)){
                echo 
                'Falscher DateiTyp: '.$type.'!<br>'$insert="no";}
                if(
                $size[0]>=101 || $size[1]>=101){
                echo 
                'Bild ist zu gro&szlig;: '.$size[0].'x'.$size[1].
                Pixel!<br>'
                ;$insert="no";
                }
                    
                if(
                $insert == "no"){
                echo 
                '<b>Upload konnte nicht durchgef&uuml;hrt werden!</b>';
                }
                else{
                if(!
                copy($_FILES['profimage']['tmp_name'],
                "./ordner".$_FILES['profimage']['name'])){
                echo 
                '<b>Server-Fehler! Upload konnte nicht 
                durchgef&uuml;hrt werden!</b>'
                ;
                }
                else{
                echo 
                '<b>Upload erfolgreich!</b>';
                }

                Nun noch der eintrag in die db bem bild "ordner/bild" fertig iss oder seh ich den sinn falsch?
                Signatur-Text ...

                Kommentar


                • #9
                  und als image eintrag schreibst du halt

                  <img src="ordner/bild">

                  aber wieso gibst du bei der ausgabe das nicht dann erst an also:
                  PHP-Code:
                  <?php
                  $res 
                  mysql_query("SELECT * FROM ...");
                  while(
                  $result mysql_fetch_object($res)){
                  ?>
                  <img src="<?=$result->bild?>">
                  <?php
                  }
                  ?>
                  Zuletzt geändert von dani_o; 21.10.2007, 11:07.
                  Signatur-Text ...

                  Kommentar


                  • #10
                    PHP-Code:
                    $type $_FILES['profimage']['type']; 
                    Der MIME-Type wird von Browser mitgeschickt, ist also genau so unsicher, wie keine Überprüfung!!
                    Wenn du Bilder verwendest, hilft der Index [2] der getimagesize-Funktion. Hast du in deinem Skript sogar eine Zeile über der von mir zitierten!

                    Kommentar


                    • #11
                      Bildpfad in Tabelle eintragen

                      hat super geklappt

                      danke euch allen


                      gruss

                      Kommentar

                      Lädt...
                      X