首页 > 编程 > PHP > 正文

php发送与接收流文件的方法

2019-11-21 23:16:54
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表