kostenloser Webspace werbefrei: lima-city


script soll automatisch einem ordner chmod = 777 geben, aber wie?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s*********e

    hi, ich habe ein script, wo man auch bilder hochladen kann in den unterordner pictures... aber damit das geht muss man ja dem ordner den chmod auf 777 setzen.. dieses script soll extra f?r leute sein, die von sowas und php keine ahnung haben.... bei der installation des script soll also auch der ordner gleich die chmod rechte 777 bekommen... mit welchem php code bekomm ich das hin? ich denk mir mal, dass das m?glich ist, denn mit php ist ja vieles m?glich :D
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Wenn du den ordner kennst und du auf nem unix-system bist:
    php_exec('chmod -R 777 /var/www/ordner');
    (ich kann kein php, also stimmt die syntax ned, aber das prinzip ^^)
  4. Autor dieses Themas

    s*********e

    thx ich warte lieber auf noch mehr antworten, denn damit kann ich nur wenig anfangen :(

  5. Wenn du den ordner kennst und du auf nem unix-system bist:
    php_exec('chmod -R 777 /var/www/ordner');
    (ich kann kein php, also stimmt die syntax ned, aber das prinzip ^^)

    also das m?sste gehen, wenn du php_exec durch exec ersetzt ;)
    aber guck mal unter den tuts, da is eins dabei wie man die chmods setzten kann

    edit :
    http://www.lima-city.de/tutorials?m=show&id=43


    <?
    &lt;?

    if(isset($_GET['target'])) // da dieses skript auf einer Datei basiert muss zuallererst gepr&uuml;ft werden ob bereitz eine Datei/Ordner angegeben wurde!

    { // falls bereits eine Datei/Ordner angegeben wurde kommt folgendes:

    chmod ("./$target", 0777); // mit diesem Befehl wird die Datei/Ordner mit dem namen $target, welche sich im gleichen Verzeichniss wie die ftpperm.php befinden muss, auf die rechte 777 gesetzt! (Um sie auf andere rechte zu setzten, ein die 777 durch etwas ersetzen z.b. 555 aber immer die 0 vorangestellt lassen

    echo "Der Ordner/Datei $target wurde durch &lt;a href=\"http://www.forum.zansinger.de.vu\" target=\"blank\"&gt;IZSkiSurfers&lt;/a&gt; Skript ftpperm.php &copy; 2004 auf die FTP Recht 0777 gesetzt!&lt;br /&gt;"; // hier wird ein kurzer text ausgegeben der auch bitte im skript bleiben sollte ;-)

    ?&gt;

    &lt;a href="ftpperm.php"&gt;Noch ein(e) Ordner/Datei!&lt;/a&gt;

    &lt;? // in der vorherigen zeile wird ein link ausgegeben, mit dem man eine weitere Datei/Ordner auf 777 setzen kann!

    }

    else

    { // falls noch keine datei/ordner angegeben wurde wird folgendes ausgegeben (ein kleines html formular mit einem textfeld, das den namen target erh&auml;lt! target deshlab, da oben im skript mit dieser Variablen gearbeitet wird!

    ?&gt;

    &lt;form name="Permissions" method="get" action="ftpperm.php"&gt;

    Ordner/Datei:

    &lt;input name="target" type="text" id="target" size="50" maxlength="70"&gt;

    &lt;br /&gt;

    &lt;input type="submit" name="aktion" value="Setzen"&gt;

    &lt;/form&gt;

    &lt;?

    }

    ?>
    ?>

  6. Am einfachsten ist es sicherlich, wenn du f?r Dateirechte die PHP-Funktionen chmod() und chown() benutzt:

    int chown (string filename, mixed user)
    Setzen des Dateieigent?mers

    int chmod (string filename, int mode)
    Setzen der Dateirechte

    Die Funktionen funktionieren ?hnlich wie die gleichnamigen UNIX-Kommandos.

    Achtung: Den mode musst du als Oktalzahl angeben, also mit einer f?hrenden Null (Das ist das Sticky-Bit, musst du aber nicht wissen).

    Willst du meinetwegen die Datei "test.txt" f?r alle voll zug?nglich (Lesen, Schreiben, Ausf?hren) machen, geht das mit
    chmod("test.txt",0777);

    HTH,
    thw
  7. Joa, ich hab' mir gedacht, dass es so was f?r php gibt.
    Nur hab' ich halt keine Ahnung, ob das auch f?r Ordner geht. Ausserdem is das nich rekursiv, das heisst, es gilt nur f?r den Ordner, nicht f?r die Dateien, die da drin sind. (Ich wei? ned genau, aber ich glaube, du willst das rekursiv).
    Meine Option f?hrt auf dem Server selbst den Befehl (das Programm chmod) aus. Das is dann wegen dem "-R" auch rekursiv (=gilt f?r alle Unterordner und alle Dateien in diesem Ordner+ Unterordner).
    Wenn du das mit dem "exec" nich genau vestehst: das is, wie wenn du bei Windows in der "command" (der DOS-Konsole) einen Befehl eintippst und "ENTER" dr?ckst. Nur, dass dieser Befehl beim Ausf?hren die Rechte ?ndert.
  8. Hallo jannis!

    Ich glaube nicht, dass specialdune einen rekursiven Algorithmus ben?tigt. Da er ja gleich nach Erstellung des Ordners dessen Rechte setzen will, sollte der Ordner noch leer sein.

    Tats?chlich schweigt sich das PHP-Manual ?ber die Art der Filesystemeintr?ge aus (man spricht immer von "Datei"), die mit chmod(), chown() und chgrp() manipuliert werden k?nnen. In solchen F?llen ist aber anzunehmen, dass sowohl richtige Dateien als auch Verzeichnisse bearbeitet werden k?nnen.

    Online-Manual:
    http://de.php.net/manual/de/function.chown.php
    usw. f?r die anderen Funktionen

    Die Seite f?r chown() enth?lt aber ein Beispiel f?r ein rekursives chown(). Sucht mal nach "recurse_chown_chgrp".

    MfG
    alopex
  9. Autor dieses Themas

    s*********e

    danke danke, das riehct mir shcon ;) vielen dank mehr als "chmod("datei",0777);" brauch ich nciht.. ahja.. wof?r die 0???? weil rechte sind doch 777 wof?r is die 0?

  10. specialdune schrieb:
    danke danke, das riehct mir shcon ;) vielen dank mehr als 'chmod('datei',0777);' brauch ich nciht.. ahja.. wof?r die 0???? weil rechte sind doch 777 wof?r is die 0?

    lesen...

    [...]

    Achtung: Den mode musst du als Oktalzahl angeben, also mit einer f?hrenden Null (Das ist das Sticky-Bit, musst du aber nicht wissen).

    Willst du meinetwegen die Datei "test.txt" f?r alle voll zug?nglich (Lesen, Schreiben, Ausf?hren) machen, geht das mit
    chmod("test.txt",0777);

    [...]

  11. Autor dieses Themas

    s*********e

    Warning: chmod(): Operation not permitted in /home/htdocs/web27/html/XN/fore/clanmanager/install.php on line 168


    sch?n... das hei?t????
  12. Das Script "install.php" oder, besser gesagt, der Webserver hat keine Rechte, die Datei (oder den Ordner) mit chmod() zu ver?ndern.

    Wo befindet sich dieser Ordner ("pictures"?) ?berhaupt?

    MfG
    alopex
  13. Autor dieses Themas

    s*********e

    unter ordner ...
    also das script hat den ordner /script/ und der pictures ordner ist: /script/pictures/
  14. Kannst du dieses Verzeichnis mit opendir() ?ffnen, oder kommt da auch eine Fehlermeldung?
  15. Autor dieses Themas

    s*********e


    <?php

    $ordner = opendir("grafik");
    while($datei = readdir($ordner))
    {
    if(! is_file("grafik/$datei"))
    continue;
    print "$datei<br>";
    }
    closedir($ordner);
    ?>


    ausgabe geht, alles wird aus dem ordner ausgelesen


    hmm... muss wohl am server liegen, auf lima gehts, naja mein problem^^ ( wenn jemand trotzdem ne l?sung findet, sagen ( au?er sowas wie, machs mitm ftp prog :D ) )
  16. Jetzt kannst du h?chstens mal jannis um Hilfe anPiNen. Der schien mir etwas kompetenter (als meine Wenigkeit) was den Umgang mit UNIX-Filesystemen angeht. Oder du fragst den Hoster. Der muss doch auch sowas wie einen Kundenservice, Support o.?. haben.

    *ratlos_dreinguck*

    MfG
    alopex
  17. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!