datei-upload

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

  • datei-upload

    hi, ich habe datei-uploads schon öfters realisiert und nun funkioniert es nicht mehr. ich sitze seit gestern nachmittag an diesem problem - ohne erfolg und hoffe, ihr könnt mir weiterhelfen...

    ich nutze smarty. in der tpl-datei habe ich ein ganz gewöhnliches formular:

    <form enctype="multipart/form-data" action="{$SELF}?action=upload" method="post">
    <input type="hidden" name="max_file_size" value="2000">
    <input type="File" name="thefile">
    <input type="Submit" value="Dateien senden">
    </form>

    in der php-datei frage ich die actions ab. hier der ausschnitt aus dem switch-teil.

    ...
    case "upload":

    echo $_FILES['thefile']['name']; //hier gibt er mir auch den dateinamen aus!

    $path = "/graphics/";
    if(!move_uploaded_file ($_FILES['thefile']['tmp_name'], $path.$_FILES['thefile']['name']))
    {
    echo "Geht mal wieder nicht";
    }
    break;

    ...

    Also es kommt nie was an, ich erhalte nur meine selbst generiert fehlermeldung.
    am server ist alles richtg eingestellt, da es wie gesagt bei einem anderen projekt wunderbar funltioniert. der code ist eigenltich identisch, nur nutze ich kein smarty. ich kann mir allerdings nicht vorstellen, dass smarty ein problem macht.

    hilfe wäre SUPER!

  • #2
    versuch mal statt $_FILES $HTTP_POST_FILES


    Aber ich hatte das Problem die woche auch und irgendwann gings wieder


    wird zeit dass es in PHP mal ein einheitliches Handling für Upload gibt


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

    Kommentar


    • #3
      danke, aber hab ich schon versucht :-(

      Kommentar


      • #4
        welche php version?
        welches os?
        wie sieht der generierte html-code aus?
        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


        • #5
          ich benutze:

          XAMPP Mini for windows Version 1.0

          * WindowsApache + MySQL +PHP + Perl

          + Apache 2.0.47
          + MySQL 4.0.14
          + PHP 4.3.3 + PEAR
          + Perl 5.8.0 (mini)



          der html-code ist genau der, der in der tpl-datei steht, nur dass statt {$SELF} der eigene datei-name steht und drumherum ein ordentliches tabellengerüst ruht.

          Kommentar


          • #6
            Original geschrieben von vortex_surfer
            und drumherum ein ordentliches tabellengerüst ruht.
            wie drumherum?
            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


            • #7
              es ist eine tabelle mit ein paar zellen und in einer zelle ist das formular drin. wenn ich eine einfache template datei nur mit dem formular erstelle funktioniert es auch nicht.

              Kommentar


              • #8
                willst Du nicht $_FILES['thefile']['name'] uploaden, müsste dann nicht als erste Parameter eingegeben werden?
                MfG

                Kommentar


                • #9
                  ne, das stimmt wohl schon so, habe ich auch bis jetzt nicht anders gesehen. allerdings habe ich es auch so wie du meinst bereits ausprobiert - ohne erfolg :-(

                  Kommentar


                  • #10
                    naja, ich denke das sollte an der erste Stelle stehen
                    und wichtig ist, dass Deine Datei existiert und kann verschoben werden... (schreibschutz und so..)
                    MfG

                    Kommentar


                    • #11
                      hmm,

                      Code:
                      <form enctype="multipart/form-data" action="{$SELF}?action=upload" method="post">
                      wird zu
                      Code:
                      <form enctype="multipart/form-data" action="{$SELF}" method="post">
                        <input type="hidden" name="action" value="upload" />
                      nur btw ....

                      teste mal
                      PHP-Code:
                      case "upload":

                      echo 
                      "<pre>"
                      print_r ($_POST);
                      echo 
                      "</pre>";

                      $path "/graphics/";
                      if(!
                      move_uploaded_file ($_FILES['thefile']['tmp_name'], $path.$_FILES['thefile']['name']))
                      {
                      echo 
                      "Geht mal wieder nicht";
                      }
                      die();
                      break; 
                      da muß ne fehlermeldung kommen ... wenns nicht geht.
                      poste mal bitte den output.
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #12
                        hi,

                        habe ich gemacht. allerdings mit $_FILES.
                        das brachte dann das hier:

                        Array
                        (
                        [thefile] => Array
                        (
                        [name] => tt
                        [type] => text/plain
                        [tmp_name] => C:\DOKUME~1\CGeiger\LOKALE~1\Temp\php87.tmp
                        [error] => 0
                        [size] => 58
                        )

                        )

                        und siehe da - es funktioniert. ich habe es mit einer 58 byte grossen datei probiert, die hat er hochgeladen. die mit der ich das davor probiert habe war alleriings auch nur 74kb gross.
                        und ich dachte max_file_size=2000 lässt 2 mb grosse dateien durch....
                        die php.ini lässt eigenltich grössere dateien zu, da es ja bei anderen projekten auch ging.

                        naja, erstmal klappts nun mit kleinen dateien - das ist schon mal super.

                        vielen dank

                        Kommentar


                        • #13
                          das sind bytes keine kb...

                          cya max


                          An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                          Kommentar


                          • #14
                            habe ich gemacht. allerdings mit $_FILES.
                            das brachte dann das hier:
                            ja, mein fehler wollte eigentlich $_FILES schreiben, ...

                            ich dachte max_file_size=2000 lässt 2 mb grosse dateien durch....
                            schau mal selfhtml, da steht was von 'nicht drauf verlassen, daß der browser das prüft' oder so, mußt du schon mit php machen ...
                            Die Zeit hat ihre Kinder längst gefressen

                            Kommentar

                            Lädt...
                            X