在exec()中打印反斜杠

时间:2015-12-14 07:21:02

标签: php

我已经找到了如何使用

使用echo命令将\打印到页面
echo '\\';

exec()函数中使用时失败。我试图向命令行发出此命令以运行csvkit:

csvclean -q \" -e ascii  -z 10000000000000 file.csv

不幸的是,我必须输入"来指定我的变量。我相信,"正在被正确转义,但似乎没有任何东西可以帮我打印\

这是我尝试过的:

exec("csvclean -q \" -e ascii  -z 10000000000000" . " " . $csvfilename );

2 个答案:

答案 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 );