我使用exec()
执行cp
UNIX命令:
$path = "/var/www/copy_dir/";
$pp = "cp -R /var/www/top_folder/mid_folder/base_folder/".$user_id."/* ".$path;
exec($pp, $ax, $ay);
if($ay === 0) {
return "done";
} else {
return "error";
exit;
}
这很好,它可以满足我的需要,但是,我希望在复制之前先在rm -rf
执行$path
(或其他更安全的方法来清除dir的内容)。我可以将其合并到我当前的$pp
上吗?
答案 0 :(得分:1)
是的,如果您想无条件地执行这两个命令,只需使用分号。或者(如g13n所述)双号&符号,只有在第一个命令成功时才会执行第二个命令。
$path = "/var/www/copy_dir/";
$pp = "rm -rf '$path*' && cp -R /var/www/top_folder/mid_folder/base_folder/".$user_id."/* ".$path;
exec($pp, $ax, $ay);
if($ay === 0) {
return "done";
} else {
return "error";
exit;
}
答案 1 :(得分:0)
你的意思是先清除目录吗?
$pp = "rm -rf $path && cp -R /var/www/top_folder/mid_folder/base_folder/$user_id/* $path";