fupload pfad in datei speichern

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

  • fupload pfad in datei speichern

    Hallo,
    ich habe ein Script geschrieben, dass dem Benutzer ein Dateifeld zeigt. Wählt der Benutzer eine Datei aus und klickt auf "hinzufügen" wird der Pfad zur temporär gespeicherten Datei in eine Datei namens file.tmp geschrieben. Angenommen ein Benutzer hat die`s 5 mal gemacht so stehen 5 Pfadangaben in der Datei! Klickt der Benutzer nun auf Upload sollen die einzelnen Pfadangaben in ein Array gelesen werden. Nun Soll eine einfache copy funktion jeden Pfad als herkunft nehmen und in einen Ordner kopieren. Auf diese Weise kann der Benutzer viele Files schnell hinzufügen und sie dann alle mit einem klick uploaden! Nun zu meinem Problem:

    Alles funktioniert wunderbar, dass schreiben in die Datei, das Übergeben an`s Array nur beim Copy sagt er jedes mahl

    Warning: copy(C:\DOKUME~1\Diter\LOKALE~1\Temp\php9E.tmp ): failed to open stream: Invalid argument in c:\apache\apache\htdocs\fotoalbum\filetmp.php on line 76

    ... kann es sein, dass die Dateien nicht lange genug zwischengespeichert werden? Falls ja, wie kann ich da was ändern oder gibt es noch andere Möglichkeiten?

    Vielen dank im Vorraus
    Zuletzt geändert von diter42; 17.06.2004, 21:47.

  • #2
    sagt dir
    Invalid argument
    was? poste mal die Zeile 76

    Kommentar


    • #3
      PHP-Code:
      $uploadname="datei/$pfad[0]_name";
      copy($pfad[0], $uploadname); 
      $pfad ist das array generiert aus den zeilen der file.tmp datei (also die Pfadangaben)!
      Zuletzt geändert von diter42; 17.06.2004, 22:23.

      Kommentar


      • #4
        mach
        PHP-Code:
        echo $pfad[0].'  |   '.$uploadname
        was bekommst du?

        Kommentar


        • #5
          C:\\Apache\\Apache\\htdocs\\Fotoalbum\\alle\\Diter\\Weihnachten\\4.JPG | datei/C:\\Apache\\Apache\\htdocs\\Fotoalbum\\alle\\Diter\\Weihnachten\\4.JPG _name

          Kommentar


          • #6
            also ist das korrekt? wohl kaum! die Korrektur überlasse ich dir

            Kommentar


            • #7
              Hatte noch `ne Änderung in meinem Script vergessen raus zu machen!
              Also ich denke ich sollte noch ein Array machen was die Dateinamen richtig einließt und nicht 4.JPG_name! das sollte im Grunde wie fupload_name werden nur hab ich ja noch kein Array für Pfad_name[$i] gehabt

              Muß ich denn als Herkunft den Pfad zu c:\\apache\...
              oder den temporären Pfad zu der Datei angeben.

              Und es ist also möglich dateien auf die Weise hochzuladen????

              Kommentar


              • #8
                $_FILE ist dein Freund, such mal nach file_upload oder upload_file, entweder hier im Forum oder in php.net

                Kommentar


                • #9
                  Re: fupload pfad in datei speichern

                  Original geschrieben von diter42
                  ... kann es sein, dass die Dateien nicht lange genug zwischengespeichert werden? Falls ja, wie kann ich da was ändern oder gibt es noch andere Möglichkeiten?
                  Das ist genau Dein Problem ... die hochgeladene Datei besteht als temporäre Datei nur während der Script-Laufzeit ... und sollte wärend dieser an eine andere Position kopiert werden (bool move_uploaded_file( string filename, string destination) ist dafür das Mittel der Wahl).

                  P.S.: In deinem "temporären Verzeichnis" solltest Du dann hin und wieder mal aufräumen ... !
                  carpe noctem

                  [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                  [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                  Kommentar


                  • #10
                    http://www.php.net/manual/de/features.file-upload.php
                    mfg
                    Günni


                    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                    City-Tiger - Online durch die Straßen tigern...

                    Kommentar


                    • #11
                      Hallo, bin Grad von der Arbeit nach Hause gekommen und hab mich gefragt ob sich was bezüglich meines Problems getan hat!
                      Vielen Dank für die Antworten!
                      Ich denke mit diesem Material dürfte ich es hinbekommen.

                      Kommentar


                      • #12
                        SO, hab`s noch mal probiert. Es funktioniert aber immer noch nicht!

                        PHP-Code:
                        <form action="file-upload.php" method="post" enctype="multipart/form-data">
                          
                        Send these files:<br>
                          <
                        input name="userfile[]" type="file"><br>
                          <
                        input name="userfile[]" type="file"><br>
                          <
                        input type="submit" value="Send files">
                        </
                        form
                        Das ist im Grunde gut aber ich möchte ja nur ein Inputfeld haben. Der Benutzer wählt eine Datei und klickt auf hinzufügen. Dann erscheint die Datei in einer Liste. Wenn er alle Dateien in die Liste eingefügt hat, soll er nur noch auf Upload klicken und die copy() Funktion wird auf jede Datei in der Liste angewandt. Theoretisch müßte es doch reichen wenn ich ihm die absolute Pfadangabe übermittel aber das scheint eben nicht der Fall zu sein.

                        Kommentar


                        • #13
                          Original geschrieben von diter42
                          Theoretisch müßte es doch reichen wenn ich ihm die absolute Pfadangabe übermittel aber das scheint eben nicht der Fall zu sein.
                          ja, ja ... theorie & praxis ... theoretisch könnte ich ja in meinem formular in ein hidden-field "c:\\config.sys" eintragen, und wenn du die site besuchst und auf "suchen" klickst, wird die datei sofort mit übertragen ... wär blöd oder? und deshalb kannst du dich von der idee verabschieden.

                          1 file-field pro datei, die upgeloaded werden soll ... nicht mehr nicht weniger
                          Kissolino.com

                          Kommentar


                          • #14
                            Das ist im Grunde gut aber ich möchte ja nur ein Inputfeld haben. Der Benutzer wählt eine Datei und klickt auf hinzufügen. Dann erscheint die Datei in einer Liste. Wenn er alle Dateien in die Liste eingefügt hat, soll er nur noch auf Upload klicken und die copy() Funktion wird auf jede Datei in der Liste angewandt.
                            das wird, glaub ich, wenn überhaupt, nur recht aufwendig realisierbar sein!?
                            Theoretisch müßte es doch reichen wenn ich ihm die absolute Pfadangabe übermittel aber das scheint eben nicht der Fall zu sein.
                            verständnisfrage: die daten liegen schon auf einem client und du willst sie auf einen server hochladen? client und server sind verschiedene rechner?
                            Die Zeit hat ihre Kinder längst gefressen

                            Kommentar


                            • #15
                              Na gut, ich denke, dass ich dann mehrere inputfelder verwenden werde. Hab`s so auch schon mal gemacht und eigentlich ist es ja auch ausreichend. Vielen Dank jedenfalls für die Antworten und ja, server und client sind zwei verschiedene PC`s.

                              Kommentar

                              Lädt...
                              X