# Datei-Attribute ändern ?



## bossi (24. September 2003)

Hi,
also ich möchte via PHP die Datei-Attribute ändern.
Habe ein Verzeichnis in den 2 Dateien sind test.php und xxx.php, in test.php habe ich

```
<?php
chmod ("xxx.php", 0777);
?>
```
die Datei test.php habe ich via FTP-Prog. auf Chmod 777 gesetzt, führe ich sie nun aus, kommt :


> Warning: chmod() [function.chmod]: Unable to access /xxx.php in /usr/local/httpd/htdocs/kunden/web28/html/xxx/test.php on line 2



bye
bossi


----------



## bossi (25. September 2003)




----------



## mzeem (25. September 2003)

Probiere es doch ohne die "0"


----------



## bossi (25. September 2003)

hi mzeem,
habe ich versucht, haut auch nicht hi


----------



## Gumbo (25. September 2003)

Ist ja auch nicht oktal.

Zitat aus http://de2.php.net/manual/de/function.chmod.php:
_Anmerkung: Der aktuelle Benutzer ist der, unter dem PHP läuft. Das ist unter Umständen nicht der Benutzer, den Sie für normale Shell- oder FTP-Zugriffe benutzen._


----------



## bossi (25. September 2003)

und das sagt mir was ?


----------



## mzeem (26. September 2003)

Also wenn er damit sagen will, dass es nicht möglich ist! Stimmt das nicht hrhr!


----------



## Christian Fein (26. September 2003)

> _Original geschrieben von mzeem _
> *Also wenn er damit sagen will, dass es nicht möglich ist! Stimmt das nicht hrhr! *



Weiter unten gibts einen Thread über chmod in dem eigentlich alles erklärt wird. Da wird auch klar wer was darf


----------



## bossi (26. September 2003)

Habe bei php.net was raus geholt und  auch :

```
<?
$chmod    = "0777";    # File mode
$file    = "xxx.php";    # file

// Create test file (if it doesn't exists)
    touch($file);

// setting chmod
    eval("chmod(\"". $file ."\", ". $chmod .");");    

// Showing current permissions
    echo "permissions: ". sprintf("%o", fileperms($file));
?>
```
Die datei xxx.php wird erstellt und die Rechte werden auch vergeben.
Setze ich aber nun bei $file eine Datei ein die schon auf mein Server ist, kommt wieder eine Fehlermeldung :


> Warning: touch() [function.touch]: Utime failed: Permission denied in /usr/local/httpd/htdocs/kunden/web28/html/xxx/test.php on line 6
> 
> Warning: chmod() [function.chmod]: Operation not permitted in /usr/local/httpd/htdocs/kunden/web28/html/xxx/test.php(9) : eval()'d code on line 1
> permissions: 100644


----------



## danube (26. September 2003)

Weil PHP als Programm ein anderer Nutzer ist als du, wenn du eine Datei per FTP hochlädst. Eine Datei die du hochgeladen hast kann standartmässig von PHP nicht geändert werden weil PHP ganz einfach ein anderer Benutzer ist.

Du musst erst die Rechte dieser Datei ändern.


----------



## bossi (28. September 2003)

hi,
wen ich nun eine ftp-verbindung mit meine daten herstelle, muss es doch auch bei alle dateien funzen oder ?

```
<?php

// Diese Variablen bitte aendern
$ftp_server = "cws-server2.de";
$benutzername = "webxx";
$passwort = "xxxxx";

$connection_id = ftp_connect("$ftp_server"); 

$login_result = ftp_login($connection_id, "$benutzername", "$passwort"); 

if ((!$connection_id) || (!$login_result))
{ 
  echo "<H1>Ftp-Verbindung nicht hergestellt!<H1>";
  echo "<p>Verbindung mit ftp_server als Benutzer $benutzername nicht möglich!</p>"; 
  die; 
}
else
{
  echo "<p>Verbunden mit ftp_server als Benutzer $benutzername </p>";
#################################################################
chmod ("info.txt",777);
#################################################################
// Schließen der Verbindung
ftp_quit($connection_id);
  echo "<br>";
  echo "<p>Verbindung beendet !</p>";
}

?>
```
 aber nicht


----------



## danube (28. September 2003)

chmod ("info.txt",0777);


----------



## bossi (28. September 2003)

0777 hatte ich auch schon,  funzte auch nicht


----------

