How to send and receive stream files in php? This article mainly introduces the method of sending and receiving stream files in PHP, and analyzes common operating techniques of PHP for stream files with examples. I hope to be helpful.
sendStreamFile.php Send the file as a stream
receiveStreamFile.php Receive the stream file and save it to the local
sendStreamFile.php file:
<?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 file:
]<?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)); ?>
The following are additions from other netizens
PHP reads stream files
$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);
Related recommendations:
php A brief introduction to the principle of file upload
php File splitting and merging (resumable upload)
Detailed explanation of php file reading series methods
The above is the detailed content of How to send and receive streaming files in php. For more information, please follow other related articles on the PHP Chinese website!