Re,
我使用shell命令cat将多行转储到一个文件中,如下所示:
cat > file <<CHAR
one
two
three
CHAR我的问题是:我需要在PHP中使用cat执行相同的shell_exec命令。如何转储数组的内容并使用CHAR终止命令?我知道这听起来很奇怪,但我需要使用sudo创建一个文件,我不想将所有内容都转储到一个临时文件中,然后将其转到预期的位置。
谢谢。
发布于 2013-08-09 01:05:36
这样做吧:
shell_exec('cat > file <<EOF
foo
bar
EOF
');当然,这只有在基础shell支持here-doc语法时才能工作。
发布于 2013-08-09 01:15:36
使用popen()而不是shell_exec()
$filename = 'file';
$text = 'CHAR
one
two
three
';
$cmdline = 'cat > ' . escapeshellarg($filename);
$fp = popen('sudo /bin/sh -c ' . escapeshellarg($cmdline), 'w');
fwrite($fp, $text);
pclose($fp);https://stackoverflow.com/questions/18138637
复制相似问题