我已经找到了如何使用
使用echo命令将\
打印到页面
echo '\\';
在exec()
函数中使用时失败。我试图向命令行发出此命令以运行csvkit:
csvclean -q \" -e ascii -z 10000000000000 file.csv
不幸的是,我必须输入"
来指定我的变量。我相信,"
正在被正确转义,但似乎没有任何东西可以帮我打印\
。
这是我尝试过的:
exec("csvclean -q \" -e ascii -z 10000000000000" . " " . $csvfilename );
答案 0 :(得分:6)
使用addslashes
功能:
echo addslashes('csvclean -q " -e ascii -z 10000000000000 file.csv');
输出:
csvclean -q \" -e ascii -z 10000000000000 file.csv
修改强>
发出命令执行此操作:
exec('csvclean -q \" -e ascii -z 10000000000000 ' . $csvfilename );
答案 1 :(得分:0)
根据要求,以答案形式。 ^^
由于您在\"
内完全需要exec
,因此您可以执行以下两项操作之一:
exec("csvclean -q \\\" -e ascii -z 10000000000000 " . $csvfilename );
或者,更简单的是,使用撇号来使文字内的所有内容都不需要被转义。
exec('csvclean -q \" -e ascii -z 10000000000000 ' . $csvfilename );