php发送与接收流文件的方法
author:一佰互联 2019-04-28   click:140

本文实例讲述了php发送与接收流文件的方法。分享给大家供大家参考。具体如下:

sendStreamFile.php 把文件以流的形式发送receiveStreamFile.php 接收流文件并保存到本地

sendStreamFile.php文件:

<?php /** php 发送流文件 * @param String $url 接收的路径 * @param String $file 要发送的文件 * @return boolean */ function sendStreamFile($url, $file){   if(file_exists($file)){     $opts = array(       "http" => array(         "method" => "POST",         "header" => "content-type:application/x-www-form-urlencoded",         "content" => file_get_contents($file)       )     );     $context = stream_context_create($opts);     $response = file_get_contents($url, false, $context);     $ret = json_decode($response, true);     return $ret["success"];   }else{     return false;   } } $ret = sendStreamFile("http://localhost/receiveStreamFile.php","send.txt");var_dump($ret); ?>

receiveStreamFile.php文件:

]<?php /** php 接收流文件 * @param String $file 接收后保存的文件名 * @return boolean */ function receiveStreamFile($receiveFile){   $streamData = isset($GLOBALS["HTTP_RAW_POST_DATA"])? $GLOBALS["HTTP_RAW_POST_DATA"] : "";    if(empty($streamData)){     $streamData = file_get_contents("php://input");   }    if($streamData!=""){     $ret = file_put_contents($receiveFile, $streamData, true);  }else{     $ret = false;   }   return $ret; } $receiveFile = "receive.txt"; $ret = receiveStreamFile($receiveFile); echo json_encode(array("success"=>(bool)$ret)); ?>

下面是其它网友的补充

PHP读取流文件

$filepath = "http://www.vip.com/down";$fp = fopen($filepath,"r");Header("Content-type: application/octet-stream");Header("Accept-Ranges: bytes");Header("Content-Disposition: attachment; filename=xxx.pdf");$buffer = 1024;while (!feof($fp)) {$file_con = fread($fp,$buffer);  echo $file_con;}fclose($fp);

希望本文所述对大家的php程序设计有所帮助。