mrdir() PHP

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

  • mrdir() PHP

    Morgen, hab folgendes Problem.
    bekomme bei mrdir immer folgende meldung:
    Code:

    Warning: rmdir(/xampp/htdocs/auftrag/upload/1) [function.rmdir]: Permission denied in C:\xampp\htdocs\auftrag\neu2.php on line 50



    ich habe schon folgende arten versucht:
    /xampp/htdocs/auftrag/upload/1
    /xampp/htdocs/auftrag/upload/1/
    /upload/1
    /upload/1/

    an was liegt dies? der ordner ist definitv leer...

    Danke

    Gruß ottscho

  • #2
    Permission denied: die Übersetzung sagt eigentlich schon alles... Hast du die Rechte für den Ordner überprüft?

    Kommentar


    • #3
      danke für die schnelle antwort. aber daran liegt es nicht. das ganze läuft unter xampp und windowsxp bzw. win2k server. alle rechte sind da. es muss eine anderer lösungsweg sein.

      Kommentar


      • #4
        auf welchem windows-server hast du schon mal solche pfade gesehen?

        /xampp/htdocs/auftrag/upload/1

        wie wär's mit einer richtigen pfadangabe:

        C:\xampp\htdocs\auftrag\upload\1

        hint #1: file_exists() ist der beste freund von unlink() o.ä. (is_dir() wäre evtl. auch sinnvoll)

        hint #2: realpath() ist in solchen angelegenheiten sehr nützlich.

        Kommentar


        • #5
          geht auch nicht:

          erste variante die ich getestet habe:

          rmdir ("c:\xampp\htdocs\auftrag\upload\$aufnr");

          Warning: rmdir(c: mpp\htdocs\auftrag\upload$aufnr) [function.rmdir]: Invalid argument in C:\xampp\htdocs\auftrag\neu2.php on line 53

          zweite variante:

          hab hier den code:
          Code:

          chdir ('upload');
          echo getcwd();
          rmdir ($aufnr);



          ausgabe:
          C:\xampp\htdocs\auftrag\upload
          Warning: rmdir(13) [function.rmdir]: Permission denied in C:\xampp\htdocs\auftrag\neu2.php on line 53

          ok, nun habe ich eine neue php datei im ordner C:\xampp\htdocs\auftrag\upload erstellt:

          test.php
          Code:

          <? rmdir (13); ?>



          hier löscht er mir es einfach. aber wo liegt der unterschied?

          Kommentar


          • #6
            hat mir noch jmd einen tipp?

            Kommentar


            • #7
              1. drängeln ist keine gute taktik.

              2. in deiner ersten variante wird der backslash als steuerzeichen zum escapen (u.a.) von dem variablenzeichen "$" interpretiert. entweder du benutzst hochkommata zum markieren des strings, oder du escapest den backslash mit sich selbst.

              3. Heini81s antwort war durchaus korrekt - permission denied deutet auf die mangelnden rechte hin.

              Kommentar


              • #8
                @penizillin

                die rechte sind aber da.

                und wenn der ordner und die phpdatei im gleichen verzeichnis sind, geht es ja auch. hier habe ich das komplette script:

                $handle=opendir("$uploaddir");
                while ($file = readdir ($handle))
                {
                if ($file != "." && $file != "..")
                {
                unlink($uploaddir.$file);
                }
                }
                chdir ('upload');
                rmdir ($aufnr);

                der uploaddir ist /xampp/htdocs/auftrag/upload/1
                aufnr ist 1

                das entleeren funktioniert auch, nur nicht das löschen des ordners

                Kommentar


                • #9
                  die rechte sind aber da.
                  du kannst es noch mal wiederholen, aber php wirst du damit nicht überzeugen.

                  den pfad solltest du trotzdem dem os entsprechend anpassen (also, c:\...).

                  ich sehe immer noch keien überprüfung mittels file_exists() und is_dir() in deinem code.

                  Kommentar


                  • #10
                    Habt Ihr vielleicht schon mal überlegt was folgendes für ein Ergebnis bringt:
                    Code:
                    rmdir ("c:\xampp\htdocs\auftrag\upload\$aufnr");
                    ... die Fehlermeldung sollte eigentlich ausreichend Auskunft geben ... ich sage nur geslashtes Dollar ... !
                    Probier' einfach mal folgende Notation:
                    Code:
                    rmdir ("c:\xampp\htdocs\auftrag\upload\".$aufnr);
                    carpe noctem

                    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                    Kommentar


                    • #11
                      goth, ich sage nur, geslashtes "x"

                      Kommentar


                      • #12
                        hab es nun so probiert:

                        if (is_dir("c:\\xampp\htdocs\auftrag\upload\\$aufnr"))
                        {
                        rmdir ("c:\\xampp\htdocs\auftrag\upload\\$aufnr");
                        }

                        fehler:

                        Warning: rmdir(c:\xampp\htdocs\auftrag\upload\9) [function.rmdir]: Permission denied in C:\xampp\htdocs\auftrag\neu2.php on line 56

                        Kommentar


                        • #13
                          ich find's lustig, dir zum x-ten mal zu wiederholen, dass es an den rechten liegen wird.

                          versuch mal folgendes - odner rechts anklicken > eigenschaften > sicherheitseinstellungen > hinzufügen > "Jeder". gib dieser gruppe den vollzugriff - alles lesen/schreiben/ausführen, etc.

                          und dann versuchst du's mit deinem script noch mal.

                          Kommentar


                          • #14
                            Ist bei dir safe_mode auf on ??
                            Schau in der php.ini resp mittels phpinfo()

                            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


                            • #15
                              jahlives, wenn ich mich recht erinnere, gäbe es andere fehlermeldungen.

                              Kommentar

                              Lädt...
                              X