Frage zur Verzeichniserstellung

funnyzocker

Erfahrenes Mitglied
Hallo.
Erstmal wünsche ich Frohe ostern. :-)

So und nun gleich zu meinem Problem.
Bei meinem neuesten Projekt ist es so das bei der Registrierung eines Users auf dem Server ein Verzeichnis mit seinem Usernamen angelegt wird.

PHP:
$user = "$_SESSION[user]";
mkdir ("pictures/$user", 0);
chmod ("pictures/$user", 0777);

Das Klappt einwandfrei. Es werden auch die richtigen Rechte gesetzt.

Nun kann der User im Userbereich Bildergallerein anlegen. Pro Gallerie soll in seinem Userodner wieder ein Ordner angelegt werden mit dem Gallerienamen.

Das mache ich so
PHP:
$user = "$_SESSION[user]";
$dir = "$_POST[projekt_name]";
mkdir ("pictures/$user/$dir", 0);
chmod ("pictures/$user/$dir", 0777);

Ist im Prinzip genau das selbe .Leider kommt aber immer dieser Fehler
Warning: mkdir(pictures/demo/test): No such file or directory in /var/www/vhosts/bilder-gigant.de/httpdocs/user/projektverarbeitung/projekt_verwaltung_neu.php on line 9

Warning: chmod(): No such file or directory in /var/www/vhosts/bilder-gigant.de/httpdocs/user/projektverarbeitung/projekt_verwaltung_neu.php on line 10

Ich versuche das nun schon seit 2 Stunden immer mit dem selben ergebniss
 
Existiert denn das Verzeichnis pictures?
Denn ansonsten klappt das Script bei mir...
Habs allerdings in zwei kleine Funktionen gepackt...
PHP:
<?php
function create_dir($user) {
  if(!file_exists("pictures/$user")) {
  mkdir("pictures/$user", 0);
  chmod("pictures/$user", 0777);
  } else echo "Verzeichnis existiert bereits!<br/>";
}
function create_project_dir($user,$dir) {
  if(!file_exists("pictures/$user/$dir")) {
  mkdir("pictures/$user/$dir",0);
  chmod("pictures/$user/$dir",0777);
  } else echo "Verzeichnis existiert bereits!";
}
create_dir("Flex");
create_project_dir("Flex","test");
?>
 
Ja das Verzeichniss pictures existiert. Es wírd darin ja auch der Ordner mit dem Usernamen angelegt. Das klappt ja.
Werde mal deinen Code ausprobieren
 
Ja also das Script zum registrieren liegt im root.
Das zum erstellen im ordner user.

Darum ist beim usererstellen der Pfad pictures und bei der Gallerieerrstellung ist der Pfad /pictures
 
PHP:
function create_project_dir($user,$dir) {
  if(!file_exists("/pictures/$user/$dir")) {
  mkdir("/pictures/$user/$dir",0);
  chmod("/pictures/$user/$dir",0777);
  } else echo "Verzeichnis existiert bereits!";
}
Ich habe das auf mein system angepasst
 
Und wenn Du in dem anderen Script auch mit absoluten Verzeichnissen arbeitest? Dann sollte es theoretisch gehen. Weil dann muessen ja beide auf das gleiche Verzeichnis zugreifen.
 
Zurück