escapeshellarg
(PHP 4 >= 4.0.3, PHP 5, PHP 7)
escapeshellarg — シェル引数として使用される文字列をエスケープする
説明
escapeshellarg
( string
$arg
) : stringescapeshellarg() は、文字列をシングルクオート で括り、既存のシングルクオートを全てクオート/エスケープします。こ れにより、文字列を直接シェル関数に渡し、単一の安全な引数として処 理することを可能にします。この関数は、ユーザー入力からの入力を シェル関数への引数として渡す際にエスケープするために使用する必要 があります。シェル関数には、exec(), system()そして バックティック演算子 を含むシェル関数が含まれます。
Windows では、escapeshellarg() は、パーセント記号と感嘆符 (遅延環境変数の展開) とダブルクォートをスペースに置き換えます。 そして、文字列をダブルクォートで囲みます。
パラメータ
-
arg -
エスケープされる引数
返り値
エスケープされた文字列
例
例1 escapeshellarg() の例
<?php
system('ls '.escapeshellarg($dir));
?>
変更履歴
| バージョン | 説明 |
|---|---|
| 5.4.43, 5.5.27, 5.6.11 | 感嘆符がスペースで置き換えられるようになりました。 |
参考
- escapeshellcmd() - シェルのメタ文字をエスケープする
- exec() - 外部プログラムを実行する
- popen() - プロセスへのファイルポインタをオープンする
- system() - 外部プログラムを実行し、出力を表示する
- バックティック演算子