本文实例讲述了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程序设计有所帮助。
评论列表:
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论