PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datei Attribute



maik15
08-06-2005, 20:58
Hi,
in meinem Forum werden für die Antworten auf ein Thema eine txt datei erstellt. wenn jetzt einer zweiter antwortet, geht es nicht, weil die datei keine vollen rechte hat.
Kann man das automatisch machen lassen?
Für jede neue Datei die vollen rechte.

Gruß
Maik

sticky bit
09-06-2005, 20:02
chmod() (http://de2.php.net/manual/en/function.chmod.php) z. B....

meinst ned es ist mal an der Zeit ein bisschen selbst in der PHP-Doku (http://www.php.net/) zu lesen? Ist doch langweilig sich alles sagen lassen zu müssen... ;)

elrond
10-06-2005, 08:11
Der Webserver arbeitet die ganze Zeit unter dem selben Account (zB. wwwrun); dh. das du kein berechtigungsproblem hast, zumindest nicht auf OS-Ebene.

maik15
10-06-2005, 16:54
ich find es auch langsam lästig...

Trotzdem, danke!

Gruß
Maik

maik15
10-06-2005, 17:09
geht doch nicht...
habe es so gemacht:


<?php
...
...
$dat4="eintraege/$a2[$i]_aw.txt";
$dat5="eintraege/$a2[$i].txt";
chmod("$dat4",0777);
chmod("$dat5",0777);
?>

Der "$" $a2[$i] enthält eine fortlaufende zahl, so das der dateiname 1_aw.txt, 2_aw.txt ... und 1.txt, 2.txt ... rauskommt.

Jetzt kommt die fehlermeldung:
" Warning: chmod(): No such file or directory in /var/www/web8/html/forum/forum.php on line 47"
das für beide chmod-bestimmungen.
An was liegt es?

Gruß
Maik

nEox
10-06-2005, 17:59
Hallo maik15,

gib dir doch mal $dat4 und $dat5 aus. Dann prüfe obs die Dateien wirklich gibt. PHP gibt dir ja schon die richtige Fehlermeldung("No such file or directory").

Was spricht eigentlich gegen ein deutlich übersichtlicheres:

chmod("eintraege/" . $a2[$i] . "_aw.txt",0777);
"eintraege/" könntest du auch als Variable definieren, falls sich das Verzeichnis ändert musst du dann nur diese Variable ändern...

Gruß

nEox

maik15
10-06-2005, 20:00
kann es erst morgen testen, weil mein server down ist, er wird geupdatet...

Maik

maik15
11-06-2005, 10:57
geht nicht! habe jetzt zum test den richtigen dateinamen angegeben (1_aw.txt) und da kommt:
"Warning: chmod failed: Operation not permitted in /var/www/web8/html/forum/forum.php on line 45"

maik15
14-06-2005, 09:31
kann mir jemand helden???
habe den richtigen dateinamen angegeben, von einer datei, die existiert und geht immer noch nicht...

Gruß
Maik

samsara
15-06-2005, 13:26
geht nicht! habe jetzt zum test den richtigen dateinamen angegeben (1_aw.txt) und da kommt:
"Warning: chmod failed: Operation not permitted in /var/www/web8/html/forum/forum.php on line 45"
Da verweise ich Dich wieder auf den vorhergehenden thread (von mir gestartet), mit dem dies offenbar alles angefangen hat. Dort hatte ich Dir sowohl Ressourcen zu Dateirechten unter Linux, als auch ein Script gepostet, das Dir wahrscheinlich helfen wuerde.

maik15
15-06-2005, 15:33
Ich hatte schon mal gesagt, postet hier bitte keine rätsel, die über 100 andere threads gehen, sondern einfach bloß das entsprechende script und gut.
habe es jetzt so gemacht:


chmod("1_aw.txt", 0777);
chmod("1.txt", 0777);

die zwei datein existieren.
müsste es jetzt nicht eigentlich die rechte ändern?
Das tut es aber nicht... da kommt bloß: "Warning: chmod failed: Operation not permitted in /var/www/web8/html/forum/forum.php on line 46"
sagt einfach, ob/wo etwas falsch ist und nicht links, zu englischen und ellen langen seiten, die sich nie einer durchliest.
an was könnte es liegen, wenn nichts falsch ist?

Gaert
15-06-2005, 15:59
Hallo maik,

lesen bildet - es schadet also nicht auch in die Links hineinzuschauen, die andere dir freundlicherweise aus google herauskopieren.

Zu deinem Problem... die Fehlermeldung lautet "Operation nicht erlaubt..."!

Folglich darf PHP die Rechte der Datei nicht ändern. Dies kann entweder am Dateisystem liegen (wenn der PHP User nicht der Besitzer der Datei ist, darf er ihre Attribute auch nicht ändern), oder an einer PHP Einstellung (safe_mode ist aktiv und PHP weigert sich den Befehl auf die Datei anzuwenden).

Schau also bitte nach, wem die Datei gehört oder ob bei dir safe_mode aktiv ist (mit phpinfo(), oder einem Blick in die php.ini).

Gruß,

Gaert

maik15
15-06-2005, 23:29
das ist nicht mein server, also komme ich nicht an die php.ini ran, denk ich.
und mit phpinfo(), wie muss ich das machen, kommt da nochwas dazu oder was?

Maik

samsara
16-06-2005, 02:17
http://php.net/phpinfo

Dementsprechend kannst Du zu jeder php-Funktion eine Referenz finden!

Samsara

maik15
16-06-2005, 09:36
ok, danke. ich versuchs.

Maik

maik15
16-06-2005, 09:43
ihr wisst hpffetlich besser bewscheid, was man damit anfängt:
zu phpinfo auf meinem server (http://maik.dsarun-hosting.de/tests/phpinfo.php)

Wie ist das nun mit den rechten?

Maik

Gaert
17-06-2005, 14:43
Hallo,

safe_mode ist aktiv, es könnte also daran liegen - wer ist Besitzer der Datei die du verändern möchtest?

Gruß,

Gaert

maik15
17-06-2005, 15:39
ich habe es jetzt mit dem aanbieter geklärt, er hat den safve-mode deaktiviert. es geht aber immernoch nicht.
ich versuch es nochmal. schreibe dann den bericht!

Maik

maik15
17-06-2005, 18:37
es scheint immer noch nocht zu gehen!
Laut betreiber ist safe_mode aus und ich habe jetzt den direkten dateipfad angegeben...


<?php
...
...
chmod("eintraege/1_aw.txt", 0777); //zeile 45
chmod("eintraege/1.txt", 0777); //zeile 46
?>

Da kommen immernoch diese meldungen:
"Warning: chmod failed: Operation not permitted in /var/www/web8/html/forum/forum.php on line 45

Warning: chmod failed: Operation not permitted in /var/www/web8/html/forum/forum.php on line 46"

Was nu?

Maik