[Variablen] HTTP_POST_FILES['file']

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

  • [Variablen] HTTP_POST_FILES['file']

    ich hab gerade versucht mein altes upload script auf meinem apache2 php5 mysql4 server zu installieren! leider musste ich feststellen das seit php4 sich einiges geändert hat und mein upload script nicht mehr funktioniert!

    also jetzt zu meinem problem:

    ich hab ein formular in dem eine *.jpg auswählen kann:

    PHP-Code:
    <form action="./index.php" method="POST" enctype="multipart/form-data">
    <
    input name="file" type="file" class="mybutton">
    <
    input type="submit" value="Hochladen">
    </
    form
    so das ganze wird dann an ein php script übergeben (index.php). hier soll dann die datei eigentlich mit copy() auf dem Server abgelegt werden. *sollte*

    hier der code:
    PHP-Code:
    71)   copy($file"$darstelung[pic_number].jpg"); 
    die führt zu folgendem fehler:
    Warning: copy(avatar-52.jpg) [function.copy]: failed to open stream: No such file or directory in D:\Server\htdocs\...\user_pannel.php on line 71
    jetzt hab ich gerade rausgefunden das seit php5 die daten über die Variable $HTTP_POST_FILES['file'] übergeben werden! ich habs gleich getestet und folgedes rausbekommen:
    Array
    (
    [name] => avatar-52.jpg
    [type] => image/jpeg
    [tmp_name] => D:\Server\php_upload_temp\php1C4.tmp
    [error] => 0
    [size] => 4660
    )

    nun meine frage ist wie lad ich jetzt die datei hoch! ich hab in dem array nur dateiname, dateityp und dateigröße! aber wo ist der pfad von der source datei?

    ich würde mich über eine schnelle hilfe sehr freuen!


    mfg
    wizar

  • #2
    PHP-Code:
     [tmp_name] => D:\Server\php_upload_temp\php1C4.tmp 
    Da isser...

    Und benutze lieber move_uploaded_file als copy.

    Kommentar


    • #3
      Re: [Variablen] $HTTP_POST_FILES['file']

      Original geschrieben von wizar
      jetzt hab ich gerade rausgefunden das seit php5 die daten über die Variable $HTTP_POST_FILES['file'] übergeben werden!
      das ist auch längst veraltet.
      $_FILES ist aktuell.

      nun meine frage ist wie lad ich jetzt die datei hoch! ich hab in dem array nur dateiname, dateityp und dateigröße! aber wo ist der pfad von der source datei?
      hm, du hast keine ahnung davon, wie so ein dateiupload über HTTP funktioniert, oder?

      die datei ist längst hochgeladen worden, wenn dein script läuft, und befindet sich im temp-verzeichnis, aus dem du sie jetzt per move_uploaded_file() woanders hin verschieben kannst (copy dafür zu benutzen, davon wird auch abgeraten.)
      den original-pfad auf dem client brauchst du dafür nicht (und bekommst du idR. auch nicht.)


      ich schlage vor, du beschäftigst dich mal mit http://www.php.net/manual/de/features.file-upload.php
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar

      Lädt...
      X