Ordner erstellen

pad8

Grünschnabel
Hi!

Ich weiß das Thema wurde schon oft angesprochen, aber die Beriträge und meine Suche bringt mich nicht weiter daher meine Frage an euch!

Ich möchte ein neuen Ordner erstellen und dem die chmod-Rechte 777 geben.
Ich hab das schon mit mkdir probiert klappt aber nicht. Jetzt wollte ich es mit ftp
probieren, aber ich weiß nicht wie ich das Programmieren muss mit dem Einloggen,
erstellen und Chmod vergeben.

Es soll in ein Inputfeld der Name eingegeben werden und dann auf Submit drücken und der Ordner soll erstellt werden!

Kann mir da jemand weiterhelfen

Danke schon mal im voraus
 
Hi!
pad8 hat gesagt.:
Ich möchte ein neuen Ordner erstellen und dem die chmod-Rechte 777 geben.
Ich hab das schon mit mkdir probiert klappt aber nicht.
Und warum klappt das nicht?

Verzichte auf FTP und suche lieber den Fehlerteufel im mkdir. Sind die Permissions vom Verzeichnis, in dem du das Verzeichnis erstellen willst, auf 0777 gesetzt?

Mamphil
 
Keine Ahnung!

Ich hab alles ausprobiert, aber keine Chance. Der Ordner wird angelegt, aber die Chmodrechte werden immer falsch vergeben. Geb ich 777 ein kommt 644 raus? der Code stimmt.

Auch das Aus- und Einschalten von SAFE_MODE hat nichts gebracht!
 
Hmm...habe sowas auch gemacht...ein Input-Feld mit Submit, und der Ordner wird erstellt. Bei mir funktioniert das einwandfrei, zumindest lokal. Poste doch mal deinen Code!
gruss
 
Formular:

Code:
<h2>Neuen Ordner anlegen</h2>
<form action="oneu2.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="sent" value="1">
<p>Name:<br>
<input name="neuerordner" rows="40" cols="60">
<input type="submit"><input type="Reset" value="Zurücksetzen">
</form>

PHP-Datei:

Code:
  <?php
$modus = $HTTP_POST_VARS["neuerordner"];
$modus2 = "/home/www/webx/html/2611/datei/$modus";
if (!file_exists($modus2))
{
mkdir($modus2, 0777);
echo "Ordner angelegt";
}
else
{
print "Ordner besteht bereits";
}
?>

Der Ordner wird angelegt nur hat er die chmod 755?!
 
Das kann ich ja verstehen, aber ehrlich gesagt weiß ich nicht was der Link mir bringt!
Denn das habe ich ja auch schon ausprobiert und es bringt mich auch bei ftp-sache nicht weiter hilft!
 
Hmm, das Problem wurde auch in diesem Forum öfters abgehandelt und es wird auch darauf in der PHP-Dokumentation eingegangen (worauf ich jedes mal hinweisen muss ...).

Hier das Zitat eines Benutzerkommentars in der Dokumentation:
Code:
You might notice that when you create a new directory using this code:

mkdir($dir, 0777);

The created folder actually has permissions of 0755, instead of the specified
0777. Why is this you ask? Because of umask(): http://www.php.net/umask

The default value of umask, at least on my setup, is 18. Which is 22 octal, or
0022. This means that when you use mkdir() to CHMOD the created folder to 0777,
PHP takes 0777 and substracts the current value of umask, in our case 0022, so
the result is 0755 - which is not what you wanted, probably.

The "fix" for this is simple, include this line:

$old_umask = umask(0);

Right before creating a folder with mkdir() to have the actual value you put be
used as the CHMOD. If you would like to return umask to its original value when
you're done, use this:

umask($old_umask);
 
Zurück