将一个文件传输到另一个

时间:2014-01-16 23:03:11

标签: php

在PHP中,有没有办法将一个“文件”的内容管道或流式传输到另一个“文件”?

这就是我现在正在做的事情,

$rfp = fopen('php://input', 'r');
$wfp = fopen($this->file_path, 'x');

while(!feof($rfp)) {
    fwrite($wfp, fread($rfp, 1048576));
}

fclose($wfp);
fclose($rfp);

哪种方法很好,但在将输入流写入输出流之前从输入流中读取任意块似乎很有趣。我想,如果我可以告诉它从一个地方读取并直接发送到另一个地方,那么文件系统或操作系统可以更高效地完成它。

在Node中,您可以将一个文件流“管道”到另一个文件流。在PHP中有这个功能吗?

1 个答案:

答案 0 :(得分:2)

 copy("php://input", $this->file_path);

或第二种方法:

 $objStream = fopen("php://input", "r");
 $dest = fopen($this->file_path, 'x');
 stream_copy_to_stream($objStream , $dest);