Ankündigung

Einklappen
Keine Ankündigung bisher.

dateiupload

Einklappen

Neue Werbung 2019

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

  • dateiupload

    hallo,

    ich möchte eine datei uploaden.

    hier die vereinfachten skripte:

    Code:
    <form action="artikelupload.php" method="get" enctype="multipart/form-data">
    <input type="file" name="foto" >
    <input type="submit" value="Bild hochladen"  ></form>


    Code:
    if(isset($_GET['foto']) and $_GET['foto']!==""){
    //bild kopieren
    
    $foto=$_GET['foto'];
    
    copy($foto,"bilder/peter.jpg");
    
    
    
    
    
    }




    es kommt immer folgende fehlermeldung:

    Warning: copy(IM000028.jpg) [function.copy]: failed to open stream: No such file or directory in C:\wamp\www\flickton\backend\artikelupload.php on line 89

    ich habe jetzt herausgefunden, dass das formular über

    <input type="file" name="foto" >

    immer nur den dateinamen übermittelt, php weiss dann nicht, woher der dateiname kommt, das formular müsste also einen pfad mit dateinamen liefern.

    wenn man einen pfad mit dateinamen als ersten parameter bei copy setzt, geht es.

    kann mir jemand sagen, wie man per formular also den ganzen pfad mit datei übermitteln kann, nicht nur den dateinamen?

    vielen dank für hinweise

    grüsse

  • #2
    Man lese das Handbuch und wundere sich, dass dort ein eigenes Kapitel dieses Thema würdigt

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

    Kommentar


    • #3
      Zitat von sampsa
      ich möchte eine datei uploaden.
      http://php.net/features.file-upload
      http://php.net/move_uploadad_file

      Kommentar


      • #4
        Manchmal ist es sehr hilfreich, die Doku:

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

        Auch die Suchfunktion des Forums würde dir genügend Hinweise liefern.

        Gruß
        phpfan

        Kommentar


        • #5
          http://de.php.net/manual/de/function...oaded-file.php



          Und kuck dir dort mal die Beispiele an

          // EDIT *huuups* da war ich wohl sehr sehr langsam //

          Kommentar


          • #6
            Hat schon einer auf die Doku hingewiesen?

            War erster

            Sorry, der Spam musste sein.

            Kommentar


            • #7
              Hier ist ein Script das funktioniert!

              PHP-Code:
              <?php

              if(isset($send)) // Wenn das Forumlar abgesendet wurde
                  
              {

                  if(
              $_FILES[bild][name]!=""// Prüft ob ein Dateiname mitgesendet wurde
                      
              {
                  
                      
              // Bild wird kopiert
                      
              $foto $_FILES[bild][tmp_name]; // Der Temp Name des Bildes
                  
                      
              if(copy($file"bilder/peter.jpg")) // Wenn das Bild erfolgreich kopiert wird
                          
              {
                      
                          echo 
              "Bild erfolgreich hochgeladen"// Erfolgsmeldung
                      
                          
              }
                      
                      else
                          {
                      
                          echo 
              "Bild konnte nicht kopiert werden"// Fehlermeldung
                          
                          
              }
                      
                      } 
              // End If ($_FILES[bild][name]!="")
                  
                  
              // End If(isset($send))

              ?>
              <form action="artikelupload.php" method="post" enctype="multipart/form-data"> 
              <input type="file" name="foto"> 
              <input type="submit" value="Bild hochladen" name="send"></form>

              Kommentar


              • #8
                Sorry statt dem:
                Code:
                <input type="file" name="foto">
                muss das geschrieben werden:
                Code:
                <input type="file" name="bild">

                Kleiner aber feiner Tippfehler...

                Kommentar


                • #9
                  @tomtaz ==> was denkst wozu (EDIT) da ist ???? :wink:

                  Kommentar


                  • #10
                    @tomtaz ==> was denkst wozu (EDIT) da ist ????
                    Ja da haste natürlich auch recht, hab vergessen ...

                    Kommentar


                    • #11
                      @tomtaz
                      Dein Script ist schlecht programmiert, setzte mal error_reporting(E_ALL); an den Anfang, da wird dir PHP einiges erzählen.

                      Gruß
                      phpfan

                      Kommentar


                      • #12
                        @tomtaz
                        Dein Script ist schlecht programmiert, setzte mal error_reporting(E_ALL); an den Anfang, da wird dir PHP einiges erzählen.
                        Ja ist ja auch so, nur verwende ich das Script nicht. Das habe ich mal eben schnell geschrieben...

                        Kommentar


                        • #13
                          Zitat von tomtaz
                          Ja ist ja auch so, nur verwende ich das Script nicht.
                          Das ist natürlich ein Argument.

                          Ich persönlich bin kein Freund von fertigen Quellcodes posten, aber wenn man es schon macht, sollte man nicht mit so einer Einstellung drangehen. Denn dann sind die nächsten Fragen gleich mit reinprogrammiert.

                          Gruß
                          phpfan

                          Kommentar


                          • #14
                            @ phpfan:

                            So jetzt das Script (ohne Fehler) mit error_reporting(E_ALL)
                            PHP-Code:

                            <?php 

                            error_reporting
                            ('E_ALL');

                            if(isset(
                            $_POST['send'])) // Wenn das Forumlar abgesendet wurde 
                                


                                if(
                            $_FILES['bild']['name']!=""// Prüft ob ein Dateiname mitgesendet wurde 
                                    

                                     
                                    
                            // Bild wird kopiert 
                                    
                                    
                            $foto $_FILES['bild']['tmp_name']; // Der Temp Name des Bildes 
                                 
                                    
                            if(copy($foto"peter.jpg")) // Wenn das Bild erfolgreich kopiert wird 
                                        

                                     
                                        echo 
                            "Bild erfolgreich hochgeladen"// Erfolgsmeldung 
                                     
                                        

                                     
                                    else 
                                        { 
                                     
                                        echo 
                            "Bild konnte nicht kopiert werden"// Fehlermeldung 
                                         
                                        

                                     
                                    } 
                            // End If ($_FILES['bild']['name']!="") 
                                 
                            else 
                                     {
                                    echo 
                            "Kein Bild";
                                    }
                                } 
                            // End If(isset($send)) 

                            ?> 
                            <form action="upload.php" method="post" enctype="multipart/form-data">  
                            <input type="file" name="bild">  
                            <input type="submit" value="Bild hochladen" name="send"></form>

                            Kommentar


                            • #15
                              Nicht error_reporting('E_All'); sondern error_reporting('E_ALL');

                              Dann bekommst Notice-Meldungen, dass send, bild und name keine Konstanten sind.

                              <edit>
                              Ups, stand da nicht gerade noch if(isset($_POST[send])), etc.
                              </edit>


                              Gruß
                              phpfan

                              Kommentar

                              Lädt...
                              X