通过php读取二进制文件并通过exec将其保存到shell上

时间:2018-01-25 19:58:21

标签: php linux shell unix

如何通过shell保存二进制内容?

我写的不是工作示例

$f = file_get_contents("my.exe");
exec("echo $f > new.exe");

1 个答案:

答案 0 :(得分:0)

好吧也许将来有人会想要这个todo,php with nobody / www-data可以写入根文件

function my_file_put_contents($f, $content){
    $rand_file = "/tmp/my_tmp_".uniqid('', true);
    file_put_contents($rand_file, $content);
    exec('sudo cp '.escapeshellarg($rand_file).' '.escapeshellarg($f).' && rm '.escapeshellarg($rand_file));
}

然后使用visudo编辑/ etc / sudoers

www-data ALL = (ALL) NOPASSWD: /bin/rm
www-data ALL = (ALL) NOPASSWD: /bin/cp