1

私は実際にphpでスクリプトファイル(script.shなど)を「作成」しようとしています。

前のページのphpリクエストで電話番号を取得しています。

runscript でスクリプトを動作させましたが、「動的」にする必要があるため、bash で動作するスクリプトの一部を次に示します。

$tel = 34000000000    
echo "\"OK\"" > /script_minicom/script_$tel   
echo "send AT+CMGS=\"+$tel\" \r" >> /script_minicom/script_$tel

出力は次のとおりです。

"OK"
send AT+CMGS="+34000000000" \r

ファイル名

/script_minicom/script_34000000000

しかし、私は(電話番号を取得するために)PHPで動作する必要があるので、これを試しています:

$tel = $_POST['tel'];
exec("echo '\"OK\"' > /script_minicom/script_$tel");
exec("echo send AT+CMGS=\"+$tel\" '\r' >> /script_minicom/script_$tel");

最初の行では機能しますが、2行目で「\ r」が消え、 $tel が引用符で囲まれていません(引用符なしでは機能しません):

"OK"
send AT+CMGS=+34000000000

ファイル名:

/script_minicom/script_34000000000
4

1 に答える 1

1

\r二重引用符内は、PHP ではキャリッジ リターンとして補間されます。一重引用符で囲みます

exec("echo send AT+CMGS=\"+$tel" .'" \r'. " >> /script_minicom/script_$tel");

出力

send AT+CMGS="+34000000000" \r
于 2015-11-25T16:24:20.207 に答える