upload zum 100 000sten mal..

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

  • upload zum 100 000sten mal..

    hier der anfang eines ziemlich komplexen cms:
    so, jetzt hab ich alles ausprobiert, sämtliche threads zum thema upload durchgelesen und doch klappts nicht. es ist mir unerklärlich woran es liegen könnte, zumal es gestern mit einigen dateien mehr ging.
    egal, fakt ist, dass lediglich dateien mit endung *.php, *.txt, *.html und *.csv hochgehen. die, die ich am wichtigsten brauche( gif, jpg, swf, pdf, doc, etc.) gehen nicht.
    hat jemand ne idee?

    PHP-Code:
    <?php

    include ("head.inc.php");  
    include (
    "body.inc.php");
    //include ("vars.inc.php"); 
    //include ("connect/open.inc.php");
    //include ("funktionen.inc.php");
    echo $html;
    echo 
    $title;
    echo 
    $meta;
    echo 
    $css;
    echo 
    $java;
    echo 
    $headend

    $upload_dir $_SERVER["DOCUMENT_ROOT"]."/upload/"
    echo 
    $upload_dir."<br>";

    if (isset(
    $_FILES['userfile'])){

        if (
    is_uploaded_file($_FILES['userfile']['tmp_name'])){
            
    move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir.$_FILES['userfile']['name']);
            echo 
    "NAME: ".$_FILES['userfile']['name']."<br>";
            echo 
    "Type: ".$_FILES['userfile']['type']."<br>";
            echo 
    "Groesse :".$_FILES['userfile']['size']."<br>";
            echo 
    "TMP_NAME :".$_FILES['userfile']['tmp_name']."<br>";
            
        } else{
            echo 
    "datei konnte nicht hochgeladen werden: ";
            echo 
    "<br>NAME: ".$_FILES['userfile']['name']."<br>";
            echo 
    "Type: ".$_FILES['userfile']['type']."<br>";
            echo 
    "Groesse :".$_FILES['userfile']['size']."<br>";
            echo 
    "TMP_NAME :".$_FILES['userfile']['tmp_name']."<br>";
        }  
    }else{ 
        echo 
    "Suchen sie ein file!";
    }
    ?>
    <body bgcolor="#FFFFE6" text="#000000" marginheight="0" marginwidth="0" leftmargin="0" rightmargin="0" bottommargin="0" topmargin="0">

    <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000">
    Send this file: 
    <input name="userfile" type="file">
    <input type="submit" value="Send File">
    </form>



    <?php
    echo $bodyend;
    ?>
    [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

  • #2
    weil's wahrscheinlich die einzigen sind, die deine max-file-size erfüllen

    Kommentar


    • #3
      MAX_FILE_SIZE = 1000B ... ist schon etwas (sehr) wenig

      Kommentar


      • #4
        okay, schlagt mich!
        AUA!!!
        THX!!!
        [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

        Kommentar


        • #5
          ich nochmal!
          wie meine testergebnisse aussehen, überschreibt move_uploaded_files() dateien mit dem gleichen namen. kann ich das unterbinden?
          oder muss ich vorm verschieben mit file_exists() darauf prüfen?
          wenn es die datei also gibt, würde ich gern textfeld ausgeben, in welchem der user einen neuen namen vergeben kann, so dass er die datei nicht zweimal hochladen muss. frage: wie lang kann ich die datei im tmp-verzeichnis halten?
          [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

          Kommentar


          • #6
            immer prüfen...

            ausserdem musst du ja den zielnamen auch angeben. so kannst du auch ein datum/zeit mit in den dateinamen nehmen.
            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
              oki,

              ja, momentan wird der filename genauso sein, wie die datei heißt.
              ich benenne die am ende eh nach meinem muster. wollte nur zum verständnis wissen wie es geht!
              [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

              Kommentar


              • #8
                so, weiter gehts. wir kommen zu der fehlermeldung: file existiert schon.
                an dieser stelle möchte ich ein kleines form ausgeben, bei welchem der user die möglichkeit hat seine datei umzubenennen, ohne dass sie nochmal rauf geladen wird. das geht so leider nicht, da nach abarbeiten des scripts das file aus dem tmp geknallt wird. wie kann ich das halten?
                PHP-Code:
                <?php

                //include ("head.inc.php");  
                //include ("body.inc.php");
                //include ("vars.inc.php"); 
                //include ("connect/open.inc.php");
                //include ("funktionen.inc.php");
                echo $html;
                echo 
                $title;
                echo 
                $meta;
                echo 
                $css;
                echo 
                $java;
                echo 
                $headend

                $upload_dir $_SERVER["DOCUMENT_ROOT"]."/homepages/weinhof/upload/"
                echo 
                $upload_dir."<br>";

                if (isset(
                $_FILES['userfile'])){ // 1
                    
                if (preg_match("/image\/(gif|jpeg|x-jpeg|pjpeg|x-png|png)/"$_FILES['userfile']['type'])) {// 2 
                        
                if (is_uploaded_file($_FILES['userfile']['tmp_name'])){ // 3
                            
                if(!file_exists($upload_dir.$_FILES['username']['name'])){ //4
                            
                move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir.$_FILES['userfile']['name']);
                            echo 
                "NAME: ".$_FILES['userfile']['name']."<br>";
                            echo 
                "Type: ".$_FILES['userfile']['type']."<br>";
                            echo 
                "Groesse :".$_FILES['userfile']['size']."<br>";
                            echo 
                "TMP_NAME :".$_FILES['userfile']['tmp_name']."<br>";
                            }else{
                        
                                
                $error[] = "Hier kommt ein Form, Datei existiert schon.";
                            } 
                // zu 4
                        
                }// zu 3
                            
                    
                }else{ $error[] = "Es sind Dateien mit den Endungen gif|jpeg|x-jpeg|pjpeg|x-png|png erlaubt!";
                }
                // zu 2
                        
                          
                }else{ 
                    
                $error[] = "Sie haben kein File ausgewählt!";
                // zu 1

                ?>
                <body bgcolor="#FFFFE6" text="#000000" marginheight="0" marginwidth="0" leftmargin="0" rightmargin="0" bottommargin="0" topmargin="0">

                <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

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



                <?php 

                    
                echo "NAME: ".$_FILES['userfile']['name']."<br>";
                    echo 
                "Type: ".$_FILES['userfile']['type']."<br>";
                    echo 
                "Groesse :".$_FILES['userfile']['size']."<br>";
                    echo 
                "TMP_NAME :".$_FILES['userfile']['tmp_name']."<br>";
                            
                foreach ( 
                $error as $fehler){
                    print 
                $fehler."<br>";
                }

                echo 
                $bodyend;
                ?>
                [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                Kommentar


                • #9
                  hab grad gemerkt, dass an der stelle wo auf file_exists() geprüft ne macke drin ist, das erkennt er so nicht??? muss ich da in den ordner wechseln?
                  [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                  Kommentar


                  • #10
                    HÜÜÜLFE! hat keiner ne idee?
                    die frage nach dem halten im tmp besteht weiterhin.
                    jetzt hab ich mit chdir() versucht, vor file_exists(), in das verzeichnis zu wechseln, datt jet nicht. ich bekomme immer; file existiert geliefert obwohl der ordner leer ist.
                    [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                    Kommentar


                    • #11
                      schade, dass keiner hilft.
                      file_exists() ging so auf jeden fall nicht, er hat bei jeder datei gemeckert, dass sie schon da sei.
                      lese jetzt den ordner aus und lasse ihn meckern, wenn datei schon da oder gleicher name besteht.
                      bleibt immernoch die frage: kann ich datei im tmp-verzeichnis halten um ihr dann über ein form nen neuen namen zu vergeben?
                      [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                      Kommentar


                      • #12
                        alles, was ins tmp-verzeichnis geladen wird, wird nach beendigung des skripts gelöscht

                        wenn du das ding umbenenen willst, musst du es vorher da rausholenund irgendwo unter nem zufällig generierten namen abspeichern und kannst dann das umbenennenformular anzeigen
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          ah supi, das hilft mir doch!
                          THX
                          [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                          Kommentar

                          Lädt...
                          X