À partir de la ligne de commande, je peux obtenir le répertoire personnel comme ceci:
~/
Comment puis-je obtenir le répertoire personnel dans mon script PHP CLI?
#!/usr/bin/php
<?php
echo realpath(~/);
?>
À partir de la ligne de commande, je peux obtenir le répertoire personnel comme ceci:
~/
Comment puis-je obtenir le répertoire personnel dans mon script PHP CLI?
#!/usr/bin/php
<?php
echo realpath(~/);
?>
Utilisez $_SERVER['HOME']
Modifier:
Pour le rendre complet, voyez ce que print_r($_SERVER)
m'a donné, exécuté à partir de la ligne de commande:
Array
(
[TERM_PROGRAM] => Apple_Terminal
[TERM] => xterm-color
[SHELL] => /bin/bash
[TMPDIR] => /var/folders/Lb/LbowO2ALEX4JTK2MXxLGd++++TI/-Tmp-/
[TERM_PROGRAM_VERSION] => 272
[USER] => felix
[COMMAND_MODE] => unix2003
[__CF_USER_TEXT_ENCODING] => 0x1F5:0:0
[PATH] =>/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin
[PWD] => /Users/felix/Desktop
[LANG] => de_DE.UTF-8
[SHLVL] => 1
[HOME] => /Users/felix
[LOGNAME] => felix
[DISPLAY] => /tmp/launch-XIM6c8/:0
[_] => ./test_php2
[OLDPWD] => /Users/felix
[PHP_SELF] => ./test_php2
[SCRIPT_NAME] => ./test_php2
[SCRIPT_FILENAME] => ./test_php2
[PATH_TRANSLATED] => ./test_php2
[DOCUMENT_ROOT] =>
[REQUEST_TIME] => 1260658268
[argv] => Array
(
[0] => ./test_php2
)
[argc] => 1
)
J'espère que je n'expose pas les informations de sécurité pertinentes;)
Ne pas que $_SERVER['HOME']
n'est pas disponible sous Windows. Au lieu de cela, la variable est divisée en $_SERVER['HOMEDRIVE']
et $_SERVER['HOMEPATH']
.
Cela dépend de l'endroit où vous vous trouvez et de ce que vous essayez de faire.
$_SERVER
n'est absolument pas fiable pour un script non serveur, MAIS $_ENV['HOME']
pourrait être meilleur pour un script shell standard. Vous pouvez toujours print_r( $GLOBALS )
et voir ce que votre environnement vous donne à jouer. phpinfo()
crache également du texte quand il est appelé à partir d'un script CLI, et le bon résultat php -i
exécuté à partir d'un shell fera de même.
Utilisez $ _SERVER ['DOCUMENT_ROOT'] .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.