Home > Backend Development > PHP Tutorial > How to send and receive streaming files in php

How to send and receive streaming files in php

伊谢尔伦
Release: 2023-03-11 16:10:01
Original
3606 people have browsed it

PHP Send and receive stream files

sendStreamFile.php Send files as streams

receiveStreamFile.php Receive stream files and save them locally

1. sendStreamFile .php

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

2. receiveStreamFile.php

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

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template