Sven Rautenberg: Shell - FALSE or TRUE ausgeben :/

Beitrag lesen

Moin!

Ich möchte per exec() system() passthru() ein mkdir ausführen.

Was recht ungewöhnlich ist, schließlich existiert eine entsprechende PHP-Funktion doch bereits: http://www.php.net/mkdir

Problem ist er übernimmt nicht meine Parameter :/

passthru(mkdir /asdasdasd/asddasdasdkf/kjkaljdklasj);

Kann ich verstehen, passthru() erwartet einen String als Befehl - ein String zeichnet sich aber durch Anführungszeichen als Begrenzer aus.

Und es wäre eventuell - falls irgendwelche dynamisch eingefügten Stringbestandteile in den Befehl wandern sollen - eine sehr sehr gute Idee, escapeshellarg() und/oder escapeshellcmd() auf den String bzw. seine Teile anzuwenden, wie in http://www.php.net/passthru empfohlen.

da dies hier nicht auf dem Server möglich ist müsste er noch eine "1" bei der Variable $? ausgeben ...

PHP kennt keine Variable $?, sprichst du vielleicht doch irrtümlich von Perl?

kann mir jemand sagen wie ich den Befehl
a) richtig ausführe

bool mkdir ( string pathname [, int mode [, bool recursive [, resource context]]] )

Mit anderen Worten:

  
mkdir("/asdasdasd/asddasdasdkf/kjkaljdklasj",0755);  

sollte ausreichen.

b) die Variable $? direkt danach richtig ausgeben lasse ?

Wie erwähnt: $? ist in PHP kein gültiger Variablenname. Folglich kann man deren Inhalt auch nicht ausgeben lassen.

- Sven Rautenberg

--
My sssignature, my preciousssss!