PHP exec()。我可以使用它来使用搜索条件将数据导出到csv。
结果是巨大的,我可以使用exec并运行系统命令作为参数,并将结果作为csv或zip返回。
这可能吗?
答案 0 :(得分:0)
当然可以。以下是我们用于每日MySQL备份的示例代码:
while ($obj = mysql_fetch_object($res)) {
$file = $path.$obj->base.".sql";
$cmd = "rm -f ".$file;
exec($cmd);
$cmd = "nice -19 mysqldump -h".$host." -u".$login." -p".$pass." ".$obj->base." > ".$file;
exec($cmd);
$sql = "update save_mysql set last_daily=NOW() where base = '".$obj->base."'";
mysql_query($sql);
}
答案 1 :(得分:0)
你无法返回,因此名称Execute就是它刚刚执行的
您可以执行以下操作:
exec('myzip some/file.csv > output.zip &');
答案 2 :(得分:0)
将变量传递给exec
的第二个参数,该变量是一个用字符串填充的数组。 shell命令生成的每一行输出都有一个字符串。
所以,如果你这样做
// test.php
$data = array();
exec('ls', $data);
var_dump($data);
你会得到像这样的输出
array(4) {
[0]=>
string(9) "foto1.psd"
[1]=>
string(9) "foto2.psd"
[2]=>
string(12) "tekening.psd"
[3]=>
string(8) "test.php"
}
之后,您可以像通常使用php一样填充csv文件..或者在输出csv之前对数据进行一些后期/预处理。看看fputcsv