Upload Hilfe bin echt Am Verzweifeln

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

  • Upload Hilfe bin echt Am Verzweifeln

    Hallo,

    Ich habe ein upload feld mit dem ich Bilder uploaden kann , diese daten werden dann an meine Datenbank gesendet , jedoch habe ich gehört dass man diese in der datenbank nicht als BLOB speichern soll da dies nicht so optimal ist , nun ist meine Frage wo die Bilder gespeichert werden wenn ich diese als VCHAR angebe , da in meiner Datenbank nun nur der lokale Pfad des Bildes beim user angegeben wird.Ich hoffe ihr könnt mir helfen , danke schon im Vorraus!!


    Habe die Suche Benutzt aber leider nur nichtssagende Codeschnipsel und kein Funktionierendes TU

    Jeder schreibt mann soll suchen Such jetzt scho ne woche aber immer noch nix braucbares ??

    könnt Ihr mir nicht schrittweise helfen schreib dann auch ein tu dazu ??


    mfg
    aggro
    Zuletzt geändert von aggrosoft; 25.01.2004, 18:03.

  • #2
    oh mann ... ein wenig think() hilft immer.


    http://de.php.net/manual/de/features.file-upload.php

    - datei hochladen
    - ins img-verzeichnis bewegen.
    - in der DB in einem varchar-feld den entsprechenden path ablegen.
    - fertig.

    und das findest du auch über die suche sehr detailiert.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Upload

      Hi,

      das hab ich doch versucht aber nix geht hier der code:

      Code:
      <?php
      
      $linkID = mysql_connect("localhost", "######", "######");
      
      	if (!$linkID) die("Keine Verbindung zur Datenbank.");
      	if (mysql_select_db("#####", $linkID))
      	
      	echo("Datenbank ##### ausgew&auml;hlt.<br><br>");
      		else
      			die("Fehler!");
      -------------------------------------------------------------------------------------------
      			
      $kat = $_POST["kat"];
      $artbez = $_POST["artbez"];
      $artbesch = $_POST["artbesch"];
      $preis = $_POST["preis"];
      $menge = $_POST["menge"];
      $ve = $_POST["ve"];
      $minab = $_POST["minab"];
      $zahlbed = $_POST["zahlbed"];
      $Submit = $_POST["Submit"];
      
      $img = $_FILES["img"]["name"];
      $tmpname = $_FILES['img']['tmp_name'];
      //$size = $_FILES['img']['size']
      //$type = $_FILES['file']['type']
      ?>
      
      <?
      
      if($Submit)
      {
      if (isset($_FILES['img']))
       {
         	 // Alternativ:            and   $_FILES['probe']['size']
         	 move_uploaded_file($_FILES['img']['name'], "./newfile.txt");
      		printf("Die Datei %s steht jetzt als " .
                "newfile.txt zur Verfügung.<br />\n",
           	 $_FILES['img']['tmp_name']);
        		printf("Sie ist %u Bytes groß und vom Typ %s.<br />\n",
           	 $_FILES['img']['size'], $_FILES['img']['type']);
        }
      $artikel = "INSERT INTO artikel (kategorie, artikelbez, artikelbesch, preis, waehrung, menge, ve, vebez, minab, zahlbed, img) VALUES ('$kat', '$artbez', '$artbesch', '$preis', '$waehrung', '$menge', '$ve','$vebez', '$minab', '$zahlbed', '$img')";
      	
        
      $eintragen = mysql_query ($artikel);
      
      }
      
      if (mysql_errno()) echo $artikel. "<br>" . mysql_error();
      
      
      
      
      
      //-------------------------------------------------------------------------
      
      // Abfragen ab hier 
      $abfrage = "SELECT * FROM artikel";
      $resID = mysql_query($abfrage, $linkID);
      
      	if (!$resID) die("Fehler in der Abfrage.");
      		while ($zeile = mysql_fetch_array($resID,MYSQL_BOTH))
      	{
      		echo("ID " . $zeile[0]);
      		echo("Kategorie: ". $zeile["kategorie"] . "<br>\n");
      		echo("Artikelbezeichnung: ". $zeile["artikelbez"] . "<br>\n");
      		echo("Artikelbeschreibung: ". $zeile["artikelbesch"] . "<br>\n");
      		echo("Preis: ". $zeile["preis"] . "<br>\n");
      		echo("Währung: ". $zeile["waehrung"] . "<br>\n");
      		echo("Artikel Anzahl: ". $zeile["menge"] . "<br>\n");
      		echo("Einheiten". $zeile["ve"] . "<br>\n");
      		echo("Einheiten bezeichnung". $zeile["vebez"] . "<br>\n");
      		echo("Mindestabnahme: ". $zeile["minab"] . "<br>\n");
      		echo("Zahlungsbedingungen: ". $zeile["zahlbed"] . "<br>\n");
      		echo("Images: ". $zeile["img"] . "<br>\n");
      	}
      
      //_________________________________________________________________________________________________
      
      ?>
      er schreibt kine Fehler und auch kein bild nur den Pfad c:\\usw.....


      hilfe

      mfg aggro
      Zuletzt geändert von aggrosoft; 26.01.2004, 13:39.

      Kommentar


      • #4
        Re: Upload

        zu dem zeitpunkt, wo du dein INSERT machst, steht in $img nunmal nur der pfad drin, den die datei vor dem upload auf dem client-rechner hatte.


        move_uploaded_file($_FILES['img']['name'], "./newfile.txt");

        was soll denn der unsinn? jedes bild unter newfile.txt abzulegen, überschreibt doch jeweils das vorherige (mal abgesehen davon, dass .txt für ein bild eine eher blöde endung ist).


        du möchtest dir jetzt mal dringend http://dclp-faq.de/q/q-formular-upload-php4.html ansehen, um erstmal deinen fileupload auf die reihe zu kriegen.
        über das eintragen des bildpfades in die DB reden wir dann später ...
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hi,

          ich nochmal ich werd daraus net richtig schlau ich weis das

          $_FILES['img']['tmp_name']

          für das tmp verzeichnis auf dem server bestimmt is wo leg ich aber den Upload ordner fest in [tmp_name] also [/upload/]
          oder muss ich ne extra variable anlegen

          $tmp = $_FILES['img']

          $_FILES['img']['tmp']


          Horror krieg net mal nen beschissenen upload hin sowas
          Zuletzt geändert von aggrosoft; 26.01.2004, 14:03.

          Kommentar


          • #6
            verschieb die datei $_FILES['img']['tmp_name'] mit move_uploaded_file dahin, wo du sie haben willst, z. b. so:
            PHP-Code:
            move_uploaded_file($_FILES['img']['tmp_name'] , 'images/bild.jpg'); 
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Hi,


              sorry wenn ich euch nerv aber Irgentwie

              Code:
              $img = $_FILES["img"]["name"];
              $img_name = $_FILES["img"]["tmp_name"];
              //$size = $_FILES['img']['size']
              //$type = $_FILES['file']['type']
              
              
              
              
              if($Submit) {
              
              move_uploaded_file($_FILES['img']['tmp_name'] , 'http://www.handeln24.de/handeln24/upload/');
                	
                
              $eintragen = mysql_query ($artikel);
              
              
              
              if (mysql_errno()) echo $artikel. "<br>" . mysql_error();
              
              }
              mfg

              aggro
              Zuletzt geändert von aggrosoft; 26.01.2004, 14:19.

              Kommentar


              • #8
                sorry wenn ich euch nerv aber Irgentwie
                EDIT:
                achso, ziel-dateiname fehlt! schreib nicht soviel.
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Ok,


                  hier nochmal der complette code

                  [code]

                  <?php

                  $linkID = mysql_connect("localhost", "*****", "*****");

                  if (!$linkID) die("Keine Verbindung zur Datenbank.");
                  if (mysql_select_db("*****", $linkID))

                  echo("Datenbank ****** ausgew&auml;hlt.<br><br>");
                  else
                  die("Fehler!");

                  //_________________________________________________________________________________

                  $kat = $_POST["kat"];
                  $artbez = $_POST["artbez"];
                  $artbesch = $_POST["artbesch"];
                  $preis = $_POST["preis"];
                  $menge = $_POST["menge"];
                  $ve = $_POST["ve"];
                  $minab = $_POST["minab"];
                  $zahlbed = $_POST["zahlbed"];
                  $Submit = $_POST["Submit"];

                  $img = $_FILES["img"]["name"];
                  $img_name = $_FILES["img"]["tmp_name"];
                  //$size = $_FILES['img']['size']
                  //$type = $_FILES['file']['type']




                  if($Submit) {

                  move_uploaded_file($_FILES['img']['tmp_name'] , 'http://www.handeln24.de/handeln24/upload/test.jpg');

                  $artikel = "INSERT INTO artikel (kategorie, artikelbez, artikelbesch, preis, waehrung, menge, ve, vebez, minab, zahlbed, img) VALUES ('$kat', '$artbez', '$artbesch', '$preis', '$waehrung', '$menge', '$ve','$vebez', '$minab', '$zahlbed', '$img')";


                  $eintragen = mysql_query ($artikel);



                  if (mysql_errno()) echo $artikel. "<br>" . mysql_error();

                  }



                  //-------------------------------------------------------------------------

                  // Abfragen ab hier
                  $abfrage = "SELECT * FROM artikel";
                  $resID = mysql_query($abfrage, $linkID);

                  if (!$resID) die("Fehler in der Abfrage.");
                  while ($zeile = mysql_fetch_array($resID,MYSQL_BOTH))
                  {
                  echo("ID " . $zeile[0]);
                  echo("Kategorie: ". $zeile["kategorie"] . "<br>\n");
                  echo("Artikelbezeichnung: ". $zeile["artikelbez"] . "<br>\n");
                  echo("Artikelbeschreibung: ". $zeile["artikelbesch"] . "<br>\n");
                  echo("Preis: ". $zeile["preis"] . "<br>\n");
                  echo("Währung: ". $zeile["waehrung"] . "<br>\n");
                  echo("Artikel Anzahl: ". $zeile["menge"] . "<br>\n");
                  echo("Einheiten". $zeile["ve"] . "<br>\n");
                  echo("Einheiten bezeichnung". $zeile["vebez"] . "<br>\n");
                  echo("Mindestabnahme: ". $zeile["minab"] . "<br>\n");
                  echo("Zahlungsbedingungen: ". $zeile["zahlbed"] . "<br>\n");
                  echo("Images: ". $zeile["img"] . "<br>\n");
                  }

                  //_________________________________________________________________________________________________

                  ?>

                  aber kein bild aufm server AAhhhhrg

                  mfg
                  Zuletzt geändert von aggrosoft; 26.01.2004, 14:26.

                  Kommentar


                  • #10
                    fehlermeldung?
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      Hallo,


                      habs gluab ich entlich aber immernoch folgende Fehlermeldung

                      Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 26870 is not allowed to access / owned by uid 0 in /home/www/htdocs/handeln24.de/handeln24/include/einfuegenbronze.php on line 58
                      Die Datei tft.jpg steht jetzt als test.jpg zur Verfügung.
                      Sie ist 12726 Bytes groß und vom Typ image/pjpeg.



                      ahhhh ????


                      mfg
                      aggro

                      Kommentar


                      • #12
                        JUHU es GehT

                        Hallo,

                        danke wieder mal für eure bemühungen es Funzt JUHU

                        hier das script

                        Code:
                        <?php
                        
                        $linkID = mysql_connect("localhost", "#####", "######");
                        
                        	if (!$linkID) die("Keine Verbindung zur Datenbank.");
                        	if (mysql_select_db("#####", $linkID))
                        	
                        	/*echo("Datenbank ##### ausgew&auml;hlt.<br><br>");
                        		else
                        			die("Fehler!");*/
                        			
                        //_________________________________________________________________________________ 
                        
                        $kat = $_POST["kat"];
                        $artbez = $_POST["artbez"];
                        $artbesch = $_POST["artbesch"];
                        $preis = $_POST["preis"];
                        $menge = $_POST["menge"];
                        $ve = $_POST["ve"];
                        $minab = $_POST["minab"];
                        $zahlbed = $_POST["zahlbed"];
                        $Submit = $_POST["Submit"];
                        $vebez = $_POST["vebez"];
                        $waehrung = $_POST["waehrung"];
                        $url = $_GET['http://www.handeln24.de/handeln24/phpSecurePages/bronze/upload.php'];
                        //$size = $_FILES['img']['size']
                        //$type = $_FILES['file']['type']
                        $probe = $_FILES["probe"];
                        
                        $id = $_FILES['file']['id'];
                        $tempname = $_FILES['file']['tmp_name'];
                        $name = $_FILES['file']['name']; 
                        $type = $_FILES['file']['type'];
                        $size = $_FILES['file']['size']; 
                        $submit = $_POST['submit'];
                        
                        
                        
                        if($Submit) {
                        
                        
                          
                        $artikel = "INSERT INTO artikel (kategorie, artikelbez, artikelbesch, preis, waehrung, menge, ve, vebez, minab, zahlbed) VALUES ('$kat', '$artbez', '$artbesch', '$preis', '$waehrung', '$menge', '$ve', '$vebez', '$minab', '$zahlbed')";
                        	
                        
                        $eintragen = mysql_query ($artikel);
                        
                        
                        
                        if (mysql_errno()) echo $artikel. "<br>" . mysql_error();
                        
                        
                        $img = "INSERT INTO artikel (img) VALUES ('$name')";
                        		
                        		$anlegen = mysql_query($img);
                        			if (mysql_errno()) echo $img . "<br>" . mysql_error();
                        			
                        			  }
                        		
                        	if($type != "image/gif" && $type != "image/pjpeg" && $type != "image/bmp") {
                        	$err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden.";
                        		}
                        		if($size > "150000") {
                        		$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 150 KB!";
                        		} 
                        	
                        	if(empty($err)) {
                        copy("$tempname", "$name");
                        echo "Die Datei $name wurde erfolgreich hochgeladen!";
                        }
                        else {
                        foreach($err as $error)
                        echo "$error<br>";
                        }
                        
                        
                        
                        
                        
                        
                        mysql_close($linkID);
                        
                        
                        
                         
                        ?>

                        so nun noch ne Frage wie kann ich abfragen ob das bild mit dem namen bereits existiert ???


                        mfg
                        aggro

                        Kommentar


                        • #13
                          hmm,

                          file_exists() ... sollte gehn
                          Die Zeit hat ihre Kinder längst gefressen

                          Kommentar

                          Lädt...
                          X