Frage zu if (file_exists

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

  • Frage zu if (file_exists

    Hallo

    ich habe einen upload service gemacht und möchte das, falls eine gleichnamige datei schon vorhanden ist, das einfach "_1" bzw "_2" und so weiter an den datei namen angehängt wird! jedoch klappt das nicht ! mein code sieht bisher so aus"


    PHP-Code:

    if (file_exists($path $HTTP_POST_FILES['userfile']['name']))
    {
    rename($HTTP_POST_FILES['userfile']['name'], $HTTP_POST_FILES['userfile'].$count.['name']);

    $count 0;
    for (
    $i=1$i == $i$i++)


    kann mir einer sagen wie das korrekt aussehn müsste?

  • #2
    1. $_FILES reicht.

    2. $count ist nicht bekannt (error_reporting höher stellen!)

    3. was soll die unnütz for-schleife?

    Kommentar


    • #3
      Im übrigen, erwarte bitte keinen Fertigen Code. Sag uns, wo es hakt...

      Idr. geht man übrigens der einfachheit halber hin und gibt der datei ne id (oder unqid()) und speichert den original-namen in der DB.

      Kommentar


      • #4
        ich habs jetzt nochmal so versucht

        PHP-Code:
        $file $HTTP_POST_FILES['userfile']['name'];
        $image=new Image($path,$file);
        if(
        $image->FType != null){
        if (
        $image->FType=="image/gif") {
        $ext ".gif";
        }else{
        $ext ".jpg";
        }
         
        $nfile md5($image->Name rand());
        while(
        file_exists($imgfld $nfile $ext) == true){
         
        $nfile md5($image->Name rand());
        }
         
        $image->ResizedWidth $imggrx;
         
        $image->ResizedHeight $imggry;
         
        $image->Resample($nfile);

          exit; } 
        aber es klappt einfach nicht! Sag mit halt einfach bitte wie der code lauten muss! ich ärgere mich damit jetzt seit knapp 4 tagen rum. hab auch gegoogelt etc! mit dem shice rename hab ich jetzt mein ganzen urlaub versaut anstatt was mit meiner freundin zu unternehmen! also bitte keine antworten wie "Google erstmal" oder "du hast dich noch nicht genung damit befasst" die paar zeilen kosten euch vielleicht 60 sekunden....und ich hab schon 4 tage damit verschwendet BITTE!

        edit/ so hab ichs auch versucht!

        PHP-Code:
        if (file_exists($path $HTTP_POST_FILES['userfile']['name']))
        {
        $file $HTTP_POST_FILES['userfile'];
        $name $HTTP_POST_FILES['name'];
        rename($file.$name$file.$zufall).$name;
        $zufall rand(1,100);

        Zuletzt geändert von [DLR]; 02.01.2007, 21:46.

        Kommentar


        • #5
          Egal, ob du den ganzen Urlaub mit deiner Perle verbracht oder vorm Rechner gehangen hast - "aber es klappt einfach nicht" ist und bleibt eine absolut untaugliche Problembeschreibung.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Original geschrieben von wahsaga
            Egal, ob du den ganzen Urlaub mit deiner Perle verbracht oder vorm Rechner gehangen hast - "aber es klappt einfach nicht" ist und bleibt eine absolut untaugliche Problembeschreibung.
            ok konkret: der fehler bei dem code
            PHP-Code:
            if (file_exists($path $HTTP_POST_FILES['userfile']['name']))
            {
            $file $HTTP_POST_FILES['userfile'];
            rename($file$file $zufall);
            $zufall rand(1,100);

            lautet

            Warning: rename(Array,Array): No such file or directory in /srv/www/vhosts/xxxxxxx/httpdocs/COG-V.2/code/upload2.php on line 32

            Kommentar


            • #7
              1. $_FILES und nicht $HTTP_POST_FILES
              2. du verwendest offenbar eine klasse. es wäre angebracht, die hier zu posten.
              anstatt was mit meiner freundin zu unternehmen
              OffTopic:
              du mußt dich entscheiden, entweder poppen oder programmieren

              was ergibt ein print_r($FILES)?

              gruß
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Original geschrieben von [DLR]
                Warning: rename(Array,Array): No such file or directory
                Der Meldung nach übergibst rename keine zwei Strings als Parameter, sondern zwei Arrays.

                Ist ja auch klar, weil du in der Zeile
                PHP-Code:
                $file $HTTP_POST_FILES['userfile']; 
                $file ein Array zuweist.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von [DLR]
                  und ich hab schon 4 tage damit verschwendet
                  OffTopic:
                  Und dann sollen wir unsere Zeit damit "verschwenden"? Denke mal bitte daran, dass dir hier alle in ihrer FREIZEIT helfen

                  Kommentar


                  • #10
                    Original geschrieben von Kropff
                    1. $_FILES und nicht $HTTP_POST_FILES
                    2. du verwendest offenbar eine klasse. es wäre angebracht, die hier zu posten.

                    OffTopic:
                    du mußt dich entscheiden, entweder poppen oder programmieren

                    was ergibt ein print_r($FILES)?

                    gruß
                    peter
                    Guten morgen

                    also danke erstmal für die antworten! ich habe jetzt $Files gemacht, also so:

                    PHP-Code:
                    if (file_exists($path $HTTP_POST_FILES['userfile']['name']))
                    {
                    $file $FILES['userfile']['name'];  
                    rename($file$file $zufall);
                    $zufall rand(1,100);
                    print_r($FILES);

                    jedoch bekomme ich da den selber fehler! und print_r($FILES); will mir nichts ausgeben?

                    mein formular siehst so aus

                    PHP-Code:

                    <FORM ENCTYPE="multipart/form-data" ACTION="index.php?action=upload" METHOD="POST">
                    <
                    div align="center">Bitte Datei Wählen:</div
                    <
                    INPUT TYPE="file" NAME="userfile" size="15">
                    <
                    div align="center"><INPUT TYPE="submit" VALUE="Datei Senden"></div>
                    </
                    FORM
                    der ganze quelltext sieht so aus:

                    http://cityofgfx.ci.funpic.de/quell.txt

                    Mit freundlichen Grüßen: DLR
                    PS: Schönen Tag ^^

                    Kommentar


                    • #11
                      Original geschrieben von Kropff
                      1. $_FILES und nicht $HTTP_POST_FILES
                      Sag mal liest du die Postings überhaupt?

                      Du verwendest $FILES, statt $_FILES und immer noch das "hässliche" $HTTP_POST_FILES

                      Kommentar


                      • #12
                        Und das sowas nicht klappen kann sollte einleuchten
                        PHP-Code:
                        rename($file$file $zufall);
                        $zufall rand(1,100); 
                        Stell endlich dein error_reporting(E_ALL) ein ! Dann würde dir sowas sicherlich mitgeteilt werden. So wie du es jetzt machst überschreibst du die existierende Datei mit dem gleichen Dateinamen. Und das willste sicherlich nicht

                        Gruss

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          Original geschrieben von hasch
                          Sag mal liest du die Postings überhaupt?

                          Du verwendest $FILES, statt $_FILES und immer noch das "hässliche" $HTTP_POST_FILES
                          Sry! Heut morgen ganz vergessen! Musste mich beeilen wegen Arbeit! Tut mir echt Leid!

                          @jahlives OK! Ich hab jetzt error_reporting(E_ALL) drin!

                          und jetzt kommt bei dem script

                          PHP-Code:
                          error_reporting(E_ALL);
                          if (
                          file_exists($path $HTTP_POST_FILES['userfile']['name']))
                          {
                          $file $_FILES;
                          $file2 rand(1,100);
                          rename($file$file2);

                          dieser fehler


                          Notice: Array to string conversion in /srv/www/vhosts/xxxxx.de/httpdocs/COG-V.2/code/upload2.php on line 35

                          Warning: rename(Array,67): No such file or directory in /srv/www/vhosts/xxxxx.de/httpdocs/COG-V.2/code/upload2.php on line 35

                          Kommentar


                          • #14
                            Da muss einiges korrigiert werden:
                            • $_FILES statt $HTTP_POST_FILES benutzen, wie schon mehrmals gesagt.
                            • PHP-Code:
                              $file $_FILES
                              Das ist Quatsch. $_FILES ist ein array und kein (spezifischer) Dateiname. Diesen musst du über den jeweiligen Index ansprechen (Siehe deine file_exists()-Bedingung).
                            • Der Zufallsname, den du generiert, enthält noch keine Dateiendung.
                              So wird a.txt beispielsweise zu 3 umbenannt, statt zu 3.txt. Es sei denn es ist so gewollt.
                            Nieder mit der Camel Case-Konvention

                            Kommentar


                            • #15
                              überleg doch mal bitte was du in diesen drei zeilen machst. mit verstand..


                              $file = $_FILES;
                              $file2 = rand(1,100);
                              rename($file, $file2);

                              Kommentar

                              Lädt...
                              X