>  기사  >  백엔드 개발  >  PHP는 스트림 파일을 보내고 받습니다.

PHP는 스트림 파일을 보내고 받습니다.

WBOY
WBOY원래의
2016-08-08 09:22:30829검색

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(
            &#39;http&#39; => 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/fdipzone/receiveStreamFile.php', 'send.txt');
var_dump($ret);
?>

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;
    }
<span style="color:#ff0000;">
</span>    return $ret;

}

$receiveFile = 'receive.txt';
$ret = receiveStreamFile($receiveFile);
echo json_encode(array('success'=>(bool)$ret));
?>

위의 내용을 포함하여 PHP에서 스트림 파일을 보내고 받는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.