php发送与接收流文件的方法
程序员文章站
2022-11-15 12:51:53
本文实例讲述了php发送与接收流文件的方法。分享给大家供大家参考。具体如下:
sendstreamfile.php 把文件以流的形式发送
receivestreamfi...
本文实例讲述了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程序设计有所帮助。
上一篇: php 正则表达式小结
下一篇: PHP获取数组长度或某个值出现次数的方法