chmod im upload

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

  • chmod im upload

    hallo, ich habe folgendes problem.

    wenn dieses upload script dateie hochlädt, weißt er dem einen anderen benutzer zu und dann kann ich mit der datei nichts mehr anfangen.

    wie kann ich denn dem script sagen das die hochzuladenen dateien die rechte 777 bekommen ?

    oder wie funktioniert das mit der chown funktion ??

    bitte um hilfe ! Vielen Dank




    PHP-Code:
    <?
    if ($_REQUEST['uploadDir']) {
        $uploadDir = $_REQUEST['uploadDir'];
        $uploadFile = $uploadDir . $_FILES['Filedata']['name'] 
        
        chmod ("$uploadDir/", 0755);
        
        move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile);
    }

    if ($_REQUEST['action'] == 'getMaxFilesize') {
        echo "&maxFilesize=".ini_get('upload_max_filesize');
    }

    ?>

  • #2
    Re: chmod im upload

    Original geschrieben von stefens

    wie kann ich denn dem script sagen das die hochzuladenen dateien die rechte 777 bekommen ?
    Du kannst die umask des verzeichnisses in das die dateien gespeichert
    werden entsprechend setzen.

    greets
    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

    Kommentar


    • #3
      Manual zu chmod() gelesen ?
      Bedenken Sie, dass mode nicht automatisch für einen Oktalwert gehalten wird. Um sicher zu gehen, dass die Operation wie erwartet verläuft, sollten Sie mode mit dem Prefix NULL (0) versehen:
      und genau das machst du nicht. Ev liegt hier der Fehler...

      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


      • #4
        Original geschrieben von jahlives

        und genau das machst du nicht. Ev liegt hier der Fehler...
        Naja eigentlich macht er das schon.

        PHP-Code:
        chmod ("$uploadDir/"0755); 
        Er machts nur falsch .. also ganz generell.

        greets
        (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

        Kommentar


        • #5
          ja und wie löse ich das problem ?

          ja, manual hab ich glesesen, da hab ichs ja auch her :/

          Kommentar


          • #6
            Irgendwie habe ich die führende Null übersehen
            Aber wäre es nicht besser die Fkt auf die Datei und nicht das Verzeichnis anzuwenden ?
            PHP-Code:
            chmod ("$uploadFile"0755); 
            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


            • #7
              das mit den dateien wie soll das gehen ? der benutzer der dateien hochläd heissen doch sicher immer anderst als "123" nur so als beispiel.

              also muss ichs doch auf den ganzen ordner anwenden oder ?

              oder wie geht das mit auf die datei anzuwenden ?

              bzw. auf §uploadFile hab ichs schon versucht zu benutzen...

              immer parse error.-..

              weiss net was ich flasch mache
              Zuletzt geändert von stefens; 03.11.2006, 18:36.

              Kommentar


              • #8
                quatsch. was machst du denn bitte bei move_uploaded_file()? Wendest du das auch nur auf dateien an, die einen bestimmten Namen haben, oder nimmst du einfach eine Variable? siehe $_FILES.#

                bei nem § brauchst du dich auch nicht über nen ParseError wundern.

                Kommentar


                • #9
                  sry, bin newb...

                  falls du das meintest,

                  chmod ("$uploadFile", 0755);

                  das funzt net genausowenig wie mit

                  ja das mit dem § hast schon recht, aber mit dem richtigen $ klappts genausowenig

                  und nun ?

                  Kommentar


                  • #10
                    Hi,

                    PHP-Code:
                    chmod ("{$uploadDir}/{$uploadFile}"0755); 
                    Aber mal davon ab ich würde niemandem erlauben
                    mir zu sagen wo ich eine datei deren inhalt ich nicht kenne zu speichern habe.

                    greets
                    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                    Kommentar


                    • #11
                      ich kriegs einfach net hin, hab gedacht das es evtl so klappen könnt:

                      PHP-Code:

                          move_uploaded_file
                      ($_FILES['Filedata']['tmp_name'], chmod $uploadFile0777); 
                      und das scheitert auch

                      Kommentar


                      • #12
                        das hier funzt auch net


                        PHP-Code:

                        chmod 
                        ("{$uploadDir}/{$uploadFile}"0755); 
                        oder baue ich das nur falsch ein ?


                        PHP-Code:

                        <?
                        if ($_REQUEST['uploadDir']) {
                            $uploadDir = $_REQUEST['uploadDir'];
                            $uploadFile = $uploadDir . $_FILES['Filedata']['name'] 
                            
                        chmod ("{$uploadDir}/{$uploadFile}", 0755);    


                            
                            move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile);
                            
                        }

                        if ($_REQUEST['action'] == 'getMaxFilesize') {
                            echo "&maxFilesize=".ini_get('upload_max_filesize');
                        }

                        ?>

                        Kommentar


                        • #13
                          ich krieg es net hin, kann es mir jemand fertig machen ?

                          Kommentar


                          • #14
                            Ja, du kannst die rechte an der datei erst ändert nachdem sie angelegt wurde.

                            Also nachdem du move_uploaded_file aufgerufen hast.

                            Aber bitte überdenk auch nochmal bitte ob du das upload-directory
                            wirklich abhängig von einer request-variablen machen wills.

                            Jemand könnte auf die idee kommen dir da böse sachen unter zu
                            jubeln.

                            greets
                            (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                            Kommentar


                            • #15
                              ja, ne ..

                              das file ist ja nur für eine clansite, kann ja niemand da drauf zugreifen ausser es runterladen. er sieht ja nichts weiss auch nicht wo es hineingeladen wird.
                              und die upload ist nur für mitglieder zugänglich...ausserdem werden die dateien ja von mir runtergeladen und anschließend gelöscht.


                              aber auch wenn ich es nach move setze, klappt das net :/


                              PHP-Code:

                              <?
                              if ($_REQUEST['uploadDir']) {
                                  $uploadDir = $_REQUEST['uploadDir'];
                                  $uploadFile = $uploadDir . $_FILES['Filedata']['name'] 

                                  move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile);
                                  
                              }
                              chmod ("{$uploadDir}/{$uploadFile}", 0755);    
                              if ($_REQUEST['action'] == 'getMaxFilesize') {
                                  echo "&maxFilesize=".ini_get('upload_max_filesize');
                              }

                              ?>

                              Kommentar

                              Lädt...
                              X