Uploadfrage

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

  • Uploadfrage

    Ich habe eine Frage.
    Wie kann ich dateien per PHP hochladen?
    Ich hab das mal versucht:
    PHP-Code:
    <html>
      <head>
        <title></title>
        <meta content="">
        <style></style>
      </head>
      <body>
      <?php
      $data 
    $_POST['data'];
      if (
    $data!="")
      {
      
    $datan fopen('data.txt','w+');
      
    fwrite($datan,$data);
      }
      
    ?>
      <form action="test.php" method="Post">
      <input type=file name="data">
      <input type=submit value="fly away">
      </form>
      </body>
    </html>
    Leider klappt das nicht
    Format und Größe soll egal sein (Ist ja nur im Root-Bereich)

    Könnt ihr mir helfen ???
    Danke im vorraus

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

    Da findest du ein ganz tolles Beispiel dazu...
    PS: guck dir den HTML Code ganz genau an...

    Kommentar


    • #3
      Aha, danke!

      Kommentar


      • #4
        Mist, ich habe wieder ein Prob:

        PHP-Code:
        <html>
          <head>
            <title></title>
            <meta content="">
            <style></style>
          </head>
          <body>
        <?php
        // In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden.
        // In PHP kleiner als 4.0.3 verwenden Sie copy() und is_uploaded_file() anstatt von
        // move_uploaded_file()

        $uploaddir './';

        print 
        "<pre>";
        if (
        move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir $_FILES['userfile']['name'])) {
           print 
        "File is valid, and was successfully uploaded.  Here's some more debugging info:\n";
           
        print_r($_FILES);
        } else {
           print 
        "Possible file upload attack!  Here's some debugging info:\n";
           
        print_r($_FILES);
        }

        ?> 
          <form enctype="multipart/form-data" action="test.php" method="post">
        <input type="hidden" name="MAX_FILE_SIZE" value="30000">
        Send this file: <input name="userfile" type="file">
        <input type="submit" value="Send File">
        </form>
          </body>
        </html>
        Klapt nicht, und
        PHP-Code:
        $uploaddir '/data/members/free/tripod/de/*/*/*/*********/htdocs 
        auch nicht
        Kann mir jemand helfen ???

        Kommentar


        • #5
          was sagt error_reporting(E_ALL); ?
          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
          var_dump(), print_r(), debug_backtrace und echo.
          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

          Kommentar


          • #6
            OOps, ich hab die datei nicht ganz gespeichert!
            Aber es kommt:
            Notice: Undefined index: userfile in /data/members/free/tripod/de/*/*/*/*********/htdocs/test.php on line 20
            was heisst das???

            Kommentar


            • #7
              das der index userfile in deinem array nicht definiert ist.
              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


              • #8
                Ok, jetzt brauch ich nur noch eine Information:
                welches vormat hat php?
                text/php ???

                Kommentar


                • #9
                  ich möchte nämlich so was:
                  PHP-Code:
                  if ($_FILES['userfile']['type']=="text/php")
                  {
                  echo 
                  "So geht das nicht!";

                  Kommentar


                  • #10
                    Oder kennt jemand eine Liste, wo dass alles steht(z.b.
                    gif = image/gif
                    jpeg = image/jpeg)
                    .......????????ß

                    Kommentar


                    • #11
                      Ich hab mal "
                      PHP-Code:
                      echo $_FILES['userfile']['type'
                      "eingefügt
                      und php ist:
                      application/x-httpd-php

                      Kommentar


                      • #12
                        Und das ist der komplette Quelltext:
                        PHP-Code:
                        <?php
                        if (isset($_COOKIE['Datei_Senden']))
                        {
                        $isX $_COOKIE['Datei_Senden'];
                        if (
                        $isX=="true")
                        {
                        $sk 1;
                        }
                        }
                        setcookie('Datei_Senden',"true",time()+360,"","",0);
                        ?>
                        <html>
                          <head>
                            <title></title>
                            <meta content="">
                            <style></style>
                          </head>
                          <body>
                        <?php
                        // In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden.
                        // In PHP kleiner als 4.0.3 verwenden Sie copy() und is_uploaded_file() anstatt von
                        // move_uploaded_file()
                        $uploaddir './Uploaded/';
                        print 
                        "<pre>";
                        if (
                        $sk==1)
                        {
                        if (
                        $_FILES['userfile']['type']=="application/x-httpd-php")
                        {
                        echo 
                        "!!!PHP IST NICHT ERLAUBT!!!";
                        }
                        else if (
                        move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir $_FILES['userfile']['name']))
                        {
                           print 
                        "Die Datei wurde vollst&auml;ndig geladen\n";
                           
                        $datei_data $uploaddir $_FILES['userfile']['name'];
                           echo 
                        "<a href=$datei_data>Hier </a> geht es zu der Datei\n";

                        else 
                        {
                           print 
                        "Possible file upload attack!  Here's some debugging info:\n";
                           
                        print_r($_FILES);
                        }
                        }
                        ?> 
                          <form enctype="multipart/form-data" action="test.php" method="post">
                        <input type="hidden" name="MAX_FILE_SIZE" value="50000"><br>
                        Sende diese Datei(Max 50.000B und PHP ist nicht erlaubt!):<input name="userfile" type="file"><br>
                        <input type="submit" value="Sende Datei">
                        </form>
                          </body>
                        </html>

                        Kommentar


                        • #13
                          Auf die Endung prüfen und wenn die net erlaubt ist verbieten..
                          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                          var_dump(), print_r(), debug_backtrace und echo.
                          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                          Kommentar


                          • #14
                            Wie Trenne ich den die Endung vom Dateinamen ab?

                            Kommentar


                            • #15
                              garnicht.

                              du solltest vielmehr den typ der datei ermitteln, so wie dus schon machst. dann läßt du nur die typen zu, die du willst.
                              Die Zeit hat ihre Kinder längst gefressen

                              Kommentar

                              Lädt...
                              X