Ordner via PHP anlegen

  • Themenstarter Themenstarter BlackLove2005
  • Beginndatum Beginndatum
Hier die ganze ordner_anlegen.php
PHP:
<?PHP
if ($_POST['Submit'] == "Ordner erstellen"){
$dir = $_POST['textfield']; 
mkdir ("$DOCUMENT_ROOT/$dir", 0700);
}
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Unbenanntes Dokument</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 
<body> 
<form name="form1" method="post" action="ordner_anlegen.php"> 
  <table width="98%"> 
	<tr> 
	  <td width="16%" height="30"><strong>Name des Ordners: </strong></td> 
	  <td width="84%"><input name="textfield" type="text" size="50"></td> 
	</tr> 
	<tr> 
	  <td>&nbsp;</td> 
	  <td><input type="submit" name="Submit" value="Ordner erstellen"></td> 
	</tr> 
  </table> 
</form> 
</body> 
</html>

mfg
forsterm
 
Sollte PHP keine Ordner mit den Rechten (777) versehen wollen, achtet bitte auf [phpf]umask[/phpf]! (Siehe betreffende Forenbeiträge - sehr gut über die Suche zu finden)
 
*grml* mit dem Script legt er abder gar nichts an da passiert nichts :(
 
Ok den Ordner kann ich nun anlegen.

Wenn ich nun aber mit einem FTP Programm da zugreifen will dann kommt folgendeS:

CWD /impressum/U/lala/
550 /impressum/U/lala/: Permission denied

Was ist das denn?
 
Na ja ich habe dem die Rechte 777 gegen das heißt doch, dass er volle Rechte hat oder?
 
Nein, PHP vergibt beim Ordner erstellen nicht zwangsläufig alle Rechte.
Deshalb mein Hinweis weiter oben. Siehe Beitrag:
http://www.tutorials.de/tutorials186148.html&highlight=ordner+umask

Unter Linux ist der Standardwert von umask meist anders. Ein neu erstellter Ordner hat dann die Rechte 755 - obwohl man 777 angegeben hat. Da Apache/PHP und der FTP-Server aber mit unterschiedlichen Besitz- und Benutzerrechten laufen ergeben sich zwangsläufig Probleme.

Da ich dieses Problem schon erwartet hatte - wies ich darauf hin. Auch wenn das wieder niemanden gekümmert hat ;-] :-)
 
Hallo. Ich habe ein Problem vom selben Umfang her. Bisher bin ich selber gut klar gekommen und hab auch ohne Hilfe alles hinbekommen. Allerdings tritt nun ein mir nerklärlicher Fehler auf.

PHP:
mkdir($neu_titel, 0777) or die ("Fehler");
chmod ($neu_titel, 0777);
					
mkdir($neu_titel."/thumbnails");
chmod($neu_titel."/thumbnails", 0777);

Beim ersten Ordner funktioniert es mit den Rechten. Den zweiten legt es allerdings gar nicht erst an, obwohl der erste angelegte Order nachgewiesen 777 hat.

Als Fehler kommt das:
Code:
Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is 712 is not allowed to access /srv/www/htdocs/web52/html/gallerie/Testgallerie+mit+%DCml%E4uten owned by uid 30 in /srv/www/htdocs/web52/html/gallerie/edit.php on line 56

Warning: chmod(): Unable to access Testgallerie+mit+%DCml%E4uten/thumbnails in /srv/www/htdocs/web52/html/gallerie/edit.php on line 57

Warning: chmod(): No such file or directory in /srv/www/htdocs/web52/html/gallerie/edit.php on line 57

Kann mir jemand helfen? Wäre wirklich wichtig.
 
hi
Das kannst du vergessen. Wie du siehst steht safe_mode auf ON. Da wird nicht deine uid als Besitzer eingetragen sondern die des Apache-Servers (uid = UserID). Ist leider so im safe_mode.

Abhilfe geben dir nur die FTP funktionen. D.h. leg den Ordner via FTP an (aus einem PHP Script). Es gibt dazu fertige funktionen (zu finden unter de.php.net) oder verwende das Script von Dennis Wronka. (Tutorialsbereich).

mb fanste
 
Zurück