« プログラム実行関数
escapeshellcmd »

escapeshellarg

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

escapeshellarg — シェル引数として使用される文字列をエスケープする

説明

function escapeshellarg(string $arg): string

escapeshellarg() は、文字列をシングルクオート で括り、既存のシングルクオートを全てクオート/エスケープします。こ れにより、文字列を直接シェル関数に渡し、単一の安全な引数として処 理することを可能にします。この関数は、ユーザー入力からの入力を シェル関数への引数として渡す際にエスケープするために使用する必要 があります。シェル関数には、exec(), system()そして バッククォート演算子 を含むシェル関数が含まれます。

Windows では、escapeshellarg() は、パーセント記号と感嘆符 (遅延環境変数の展開) とダブルクォートをスペースに置き換えます。 そして、文字列をダブルクォートで囲みます。 さらに、連続するバックスラッシュ (\) の並びは、それぞれバックスラッシュを1つ追加してエスケープされます。

マルチバイト文字列に対するこの関数の動作は、現在の LC_CTYPE ロケール設定に依存します。 認識できない文字は破棄されます。 setlocale() を参照ください。

パラメータ

arg

エスケープされる引数

戻り値

エスケープされた文字列

例

例1 escapeshellarg() の例

<?php
system('ls '.escapeshellarg($dir));
?>

参考

関連キーワード:
エスケープ   シェル   escapeshellarg   クォート   クオート   system   escapeshellcmd   シングル   exec   バック   演算子   ダブル   バックスラッシュ   ロケール   setlocale   外部   既存   安全   Windows   パーセント   記号   感嘆符   遅延   環境   変数
関連する関数・ページ:
function.escapeshellcmd   ref.exec   function.addslashes   function.system   language.operators.execution   book.exec