Kay: Datei hochladen

Hi,

ich will eine lokale Datei auf den Webserver meiner Homepage laden. Dafür hab ich ein PHP-Skript erstellt.
Nun gibt es ja verschiedene Wege, dies zu realisieren - aber keiner hat funktioniert.

1. copy()
<?php
copy("C:/test.zip","test.zip");
?>

2. fread()
<?php
$file1=fopen("C:/test.zip","r");
$file2=fopen("test.zip","w");
while(!feof($file1)){
$bytes=fread($file1,1024);
fputs($file2,$bytes);
}
fclose($file1);
fclose($file2);
?>

Leider hat keine Variante funktioniert. Den chmod für das Verzeichnis, indem sich das PHP-Skript befindet, habe ich schon auf 777 gesetzt.

Was mache ich falsch?

Ich weiß, dass ich auch die implementierten FTP-Funktionen nutzen kann, wollte diese Möglichkeit aber umgehen.

Vielen Dank, Kay

  1. Hallo,

    man sehe sich http://www.php.net/manual/de/function.copy.php an und lese:

    ---------------------------------------------------------------------

    <HTML>
    <TITLE>
    File upload
    </title>
    <body>

    <B>File upload</b>

    <form enctype="multipart/form-data" action="<?PHP echo $PHP_SELF ?>" method="post">

    <!-- "MAX_FILE_SIZE" determines the biggest size an uploaded file can occupy -->

    <input type="hidden" name="MAX_FILE_SIZE" value="500000">
    Send this file:
     <input name="userfile" type="file">
    <input type="submit" name="submit" value="Send File">
    </form>

    </body>

    <?PHP

    /*

    $userfile - The temporary filename in which the uploaded file was stored on the server machine.

    $userfile_name - The original name or path of the file on the sender's system.

    $userfile_size - The size of the uploaded file in bytes.

    $userfile_type - The mime type of the file if the browser provided this information. An example would be "image/gif".

    */

    // copy to this directory

    $dir="./bor/";

    // copy the file to the server

    if (isset($submit)){

    copy($userfile,$dir.$userfile_name);

    if (!is_uploaded_file ($userfile)){

    echo "
    <b>$userfile_name</b> couldn't be copied !!";
    }
    }

    // check whether it has been uploaded

    if (is_uploaded_file ($userfile)){

    echo "
    <b>$userfile_name</b> copied succesfully !!";

    }

    ?>

    </html>

    ---------------------------------------------------------------------

    Viel Erfolg!

    1. Hi!

      man sehe sich http://www.php.net/manual/de/function.copy.php an und lese:
      [...]

      Der Code ist unsicher und veraltet. Stattdessen sollte man lieber folgendes lesen:

      http://php-faq.de/q/q-formular-upload-php4.html
      http://www.php.net/manual/de/features.file-upload.php

      Grüße
      Andreas