ここに私の問題があります:PHPから外部アプリに16進数データを渡したい:
exec('echo "'.$message.'" | /usr/bin/gateway');
$message はユーザー入力から取得されます。
テスト'"/'\'/"\""//
addslashes()、stripslashes() は私の悩みを解決しません。使用中:
$message = stripslashes($_POST['message']);
それは私が見ることができるコンソールログです:
sh: 1: Syntax error: Unterminated quoted string
または空の値
そこで、入力を 16 進数値に変換して渡すと役立つと考え始めました。
exec('echo -e '.$message.' | /usr/bin/gateway');
しかし、その後、16 進数データをそのエコーに渡すときに問題が発生しました。
だから私の質問はそれを行う方法ですか?ユーザーが書いたものとまったく同じ文字列をゲートウェイ サービスに渡す必要があります。- ユーザー入力を 16 進形式に変換し、それを echo -e に入れます (どのように?) - または何らかの方法で引用符とスラッシュと戦います