知识点一

  1. <?php
  2. //通过数据流copy文件
  3. function stream_copy($src, $dest)
  4. {
  5. $fsrc = fopen($src,'r');
  6. $fdest = fopen($dest,'w+');
  7. $len = stream_copy_to_stream($fsrc,$fdest);
  8. fclose($fsrc);
  9. fclose($fdest);
  10. return $len;
  11. }

知识点二

之前的文章《推荐阅读: php://input 是什么 有什么作用https://www.phpsong.com/544.html》 有提到过php://input另外还有几种写法

  1. php://stdin (只读)
  2. php://stderr (只写, 如php://stdout)
  3. php://input (只读) 这使我们能够访问原始请求体
  4. php://output (只写) 让我们写入输出缓冲区
  5. php://memory 和 php://temp (读-写) 是我们可以临时存储数据的地方。 不同之处在于一旦它变得足够大 php://temp 会将数据存储在文件系统中,而 php://memory 将一直持存储在内存中直到资源耗尽。

通过数据流copy文件也可以通过上面管道来写入和读取(或只读取/只写入)
写一个demo

  1. <?php
  2. $handle1 = fopen(
  3. "https://static.phpsong.com/weixin.png", "r"
  4. );
  5. $handle2 = fopen(
  6. "php://output", "w"
  7. );
  8. stream_copy_to_stream($handle1, $handle2);
  9. fclose($handle1);
  10. fclose($handle2);
相关评论(0)
您是不是忘了说点什么?

友情提示:垃圾评论一律封号...

还没有评论,快来抢沙发吧!