Upload

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

  • Upload

    Der Upload funktioniert einwandfrei, aber nach erfolgreichem übertragen der Datei kann ich anschließend diese Datei auf dem Server nicht mehr löschen, da ich angeblich keine Benutzungsrechte habe, dabei bin ich der Admin. Meine Vermutung liegt bei dem $ok = copy (). Kann bitte jemand probieren mir zu helfen?

    PHP-Code:
    <?php
    $nname 
    "$_POST[title]"."$_POST[interpret]"."$_SESSION[username]"."$_SESSION[uploads].".html" ;
    $imtemp $_FILES['userfile']['tmp_name'];
    if (isset(
    $_FILES[userfile])){
      
    $uploaddir "./" $_POST[art] ."/"$_POST[interpret] . "/" $_FILES['userfile']['name'];

      if(!
    file_exists"./" $_POST[art] ."/"$_POST[interpret])){
          
    $dir=   "./" $_POST[art] ."/"$_POST[interpret];
          
    mkdir ("$dir"0755);
      }

      
    $von             $_SESSION[username];
      
    $interpret       $_POST[interpret];
      
    $typ             $_POST[art];
      
    $title           $_POST[title];
      
    $nuploaddir      "./" $_POST[art] ."/"$_POST[interpret] . "/"$nname;

               
    $ok =copy ($imtemp,$nuploaddir);

               
    unlink($imtemp);

      
    $sql "INSERT INTO `$sql_notes` (name , von , interpret , typ, title )
                       VALUES  ('
    $nname', '$von', '$interpret', '$typ', '$title');" ;

    $dbq_n1    mysql_query($sql) OR die(mysql_error()) ;
    echo 
    "Die Datei wurde erfolgreich hochgeladen";
    ?>

  • #2
    es liegt hieran: mkdir ("$dir", 0755)

    Kommentar


    • #3
      Das heißt jetzt also, dass ich mkdir auf CHMOD 0777 setzen muss?
      Oder darf ich den Befehl gar nicht verwenden?

      Kommentar


      • #4
        verzeichnisse mit den rechten 777 belegen. dateien mit 666.
        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
          Wie soll ich denn bei copy (); der Datei einen CHMOD von 666 geben?
          Das geht bei copy doch gar nicht, soviel ich weiß?

          PHP-Code:
          mkdir ("$dir"0777); // Verzeichniss

          $ok =copy ($imtemp,$nuploaddir); // Datei kopieren 

          Kommentar


          • #6
            ich kenne mich nicht wirklich in linux aus, aber IMHO gibt es ja irgendwie ein right mask, dass alle Dateien erstmal damit ausgestattet werden, also ändert die Maske dass alle dateien 666 bekommt

            Kommentar


            • #7
              Weil mit chmod("$nuploaddir", 0666); funktioniert es nicht.
              Kennt sich denn hier wirklich niemand dmait aus?

              Kommentar


              • #8
                Original geschrieben von alexs
                Das geht bei copy doch gar nicht, soviel ich weiß?
                und was hindert dich daran, das direkt nach dem copy() mit chmod() zu machen?
                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


                • #9
                  Original geschrieben von alexs
                  Weil mit chmod("$nuploaddir", 0666); funktioniert es nicht.
                  du musst auch die datei nehmen. nicht das verzeichnis.
                  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


                  • #10
                    Das habe ich alles schon ausprobiert...

                    vor und nach dem copy Befehl, jedoch kann ich die hochgeladene Datei immer noch nciht vom Server löschen und es werden immer mehr nicht löschbare Dateien, je mehr ich es ausprobiere.

                    PHP-Code:
                    chmod("$nname"0666); 
                    Bitte helft mir, ich bin total am verzweifeln

                    Kommentar


                    • #11
                      in $nname steht doch nur den dateiname drin. richtig?

                      gib auch mal den path beim chmod() mit an.
                      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


                      • #12
                        @ alexs

                        setz mal vor der ganzen kopieraktion ein

                        PHP-Code:
                        $mask umask(0); 
                        das hat bei alle probleme mit chmod beseitigt.

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

                        Kommentar


                        • #13
                          Klasse, mit $mask = umask(0); funktioniert es. Die erstellten Dateien kann ich nun wieder löschen.

                          Beim Hochladen allerdings erscheint trotz erfolgreichem hochladen und erfolgreichem chmod setzen folgender Warnhinweis:

                          Warning: chmod() [function.chmod]: No such file or directory in /www/htdocs/.../test/index.php on line 459

                          In Zeile 459 steht bei mir folgendes: chmod("$nname", 0666);

                          Kommentar


                          • #14
                            No such file or directory
                            ... sollte dir aber was sagen ... ;-)
                            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


                            • #15
                              Ja klar , Datei ist nicht vorhanden...
                              Aber die Datei ist doch vorhanden nach dem Befehl copy().

                              ???

                              chmod habe ich übrigens auch schon nach dem copy() ausprobiert aber funzt auch nicht.

                              Kommentar

                              Lädt...
                              X