datei verschieben

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

  • datei verschieben

    hallo!

    ich möchte eine datei von einem ordner in den anderen verschieben. hat jemand ne idee wie das funktionieren könnte?

    thx

  • #2
    rename
    copy
    unlink

    such dir was aus.

    Kommentar


    • #3
      Hi,

      ich missbrauch den Thread einfach mal, da er zu meinem Problem passt.

      Und zwar habe ich ein Script mit Userverwaltung geschrieben das für jeden neu erstellten User ein eigenes Verzeichniss erstellt. Der Sinn dahinter ist, dass vom User erstellte Dateien automatisch in das Verzeichniss kopiert und dann dort gespeichert werden. Nur besteht leider das Problem, dass ich durch den Safe-Mode keinen weiteren Zugriff auf das Verzeichniss erhalte. Da das Script welches die Dateien verschiebt eine andere UID besitzt, als der Besitzer des Verzeichnisses("wwwrun"). Da ich das Script nur auf meinem Webspace testen kann, bei dem ich den Safe-Mode nicht deaktiviert kriege und das Script auch mit aktiviertem Safe-Mode lauffähig sein sollte würde ich gerne Wissen was mir noch für Möglichkeiten übrig bleiben. (Die Verzeichnissrechte stehen schon auf 777)

      In die Userverwaltung selbst kann ich das Verschieben der Dateien leider nicht einbauen, da das Programmtechnisch ein zu grosser Aufwand wäre. Zumindest würde ich das vermeiden wollen!

      Gruss Spliffster

      Kommentar


      • #4
        Safe-Mode verhindert verschieben von files

        Hi,

        Ich habe ein Script mit Userverwaltung geschrieben das für jeden neu erstellten User ein eigenes Verzeichniss erstellt. Der Sinn dahinter ist, dass vom User erstellte Dateien automatisch in das Verzeichniss kopiert und dann dort gespeichert werden. Nur besteht leider das Problem, dass ich durch den Safe-Mode keinen weiteren Zugriff auf das Verzeichniss erhalte. Da das Script welches die Dateien verschiebt eine andere UID besitzt, als der Besitzer des Verzeichnisses("wwwrun"). Da ich das Script nur auf meinem Webspace testen kann, bei dem ich den Safe-Mode nicht deaktiviert kriege und das Script auch mit aktiviertem Safe-Mode lauffähig sein sollte, würde ich gerne Wissen was mir noch für Möglichkeiten übrig bleiben. (Die Verzeichnissrechte stehen schon auf 777, das Kopieren selbst hab ich schon mit den php-Funktionen genauso wie manuell per fwrite... probiert, jedesmal das selbe)

        In die Userverwaltung selbst kann ich das Verschieben der Dateien leider nicht einbauen, da das Programmtechnisch ein zu grosser Aufwand wäre. Zumindest würde ich das vermeiden wollen, da auch andere Scriptteile später auf das Verzeichniss zugreifen sollen.

        Gruss Spliffster

        Kommentar


        • #5
          Das Prob an SafeMode ist, dass du nicht mit unterschiedlichen UIDs an einer Datei/Ordner arbeiten kannst...

          entweder der Webserver oder der User...

          Alternative wäre (wenn der Server vernünftig eingerichtet ist) dass der Apacheprozess in deinem User kontext läuft (wie das genau geht, weiß ich nicht, dass es aber geht, sehe ich an den webservern in meiner Firma), da wäre dann der Admin dafür zuständig...

          gruss

          Kommentar


          • #6
            @mortalan: php als cgi und nicht als apache-modul laufen lassen.
            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
            var_dump(), print_r(), debug_backtrace und echo.
            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

            Kommentar


            • #7
              keine Ahnung... ich hab nur Umgebungen mit PHP als Modul

              Kommentar


              • #8
                Es ist ja jedesmal der Webserver der auf das Verzeichniss zugreift, nur von zwei Verschiedenen php-Dateien aus. Wobei das ja dasselbe Problem zu ergeben scheint.

                Aber dann mal eine theoretische Frage, ich bin gerade am überlegen ob ich alle Methoden die das Verzeichniss erstellen und bearbeiten in eine "functions.php" auslagere. Im Kontext welcher UID würden diese Methoden ausgeführt werden, wenn ich sie dann in den einzelnen Dateien aufrufe?


                Gruss Spliffster

                /Sorry für den neuen Thread, aber in diesen hier hatte keine mehr reingeschaut.

                Kommentar


                • #9
                  Natürlich mit den Rechten mit denen auch PHP ausgeführt wird...
                  Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                  var_dump(), print_r(), debug_backtrace und echo.
                  Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                  Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                  Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                  Kommentar


                  • #10
                    Trotzdem scheint jede einzelne php-Datei ihre eigene UID zu besitzen. Und meine Frage war genau darauf bezogen, ob die Methoden aus der "functions.php" mit deren UID ausgeführt werden würden.

                    Inzwischen habe ich meine Idee dann auch getestet, aber leider wieder dasselbe Problem: "The script whose uid is 984 is not allowed to access /home/www/... owned by uid 30".

                    Kommentar


                    • #11
                      Original geschrieben von Spliffster
                      Trotzdem scheint jede einzelne php-Datei ihre eigene UID zu besitzen.
                      höchst unwahrscheinlich.
                      woraus schließt du das denn?
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Daraus, dass ich auf ein Verzeichniss(chmod 0777), welches ich mit "modify.php" erstellt habe, nicht mit "create.php" zugreifen kann. Bzw. mir immer die in meinem letzten Post beschriebene Fehlermeldung ausgegeben wird. Wobei die Funktionen, welche die Verzeichniss- bzw. Dateioperationen durchführen, inzwischen alle in "functions.php" liegen.
                        Zuletzt geändert von Spliffster; 13.05.2005, 03:05.

                        Kommentar


                        • #13
                          deine behauptung kann aber aus dieser beobachtung nicht folgen.

                          lass dir immer beim debuggen alle pfade und rechte ausgeben.
                          mehr kann man dir nicht sagen, fürchte ich.

                          Kommentar


                          • #14
                            /Vergesst was ich gesagt habe, ich hätte mir die SafeMode-Beschreibung nur mal genauer durchlesen müssen. Immerhin weiss ich jetzt wie das Problem beim fertigen Script umgehen kann. Entschuldigt bitte die Belästigung!
                            Zuletzt geändert von Spliffster; 12.05.2005, 16:37.

                            Kommentar


                            • #15
                              Immerhin weiss ich jetzt wie das Problem beim fertigen Script umgehen kann.
                              Na super, aber andere, die hier vielleicht durch die Suche oder ne Suchmaschine landen, wissen das nicht... könntest du die Lösung posten?
                              Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                              var_dump(), print_r(), debug_backtrace und echo.
                              Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                              Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                              Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                              Kommentar

                              Lädt...
                              X