Shell - FALSE or TRUE ausgeben :/
Kris
- php
Hi !
Ich möchte per exec() system() passthru() ein mkdir ausführen.
Problem ist er übernimmt nicht meine Parameter :/
passthru(mkdir /asdasdasd/asddasdasdkf/kjkaljdklasj);
da dies hier nicht auf dem Server möglich ist müsste er noch eine "1" bei der Variable $? ausgeben ...
kann mir jemand sagen wie ich den Befehl
a) richtig ausführe
und
b) die Variable $? direkt danach richtig ausgeben lasse ?
mfg
KRIS
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