php發送 與接收流檔案

來源:互聯網
上載者:User

標籤:color   style   exists   ref   type   ret   ons   iss   get   

PHP 發送與接收流檔案


sendStreamFile.php 把檔案以流的形式發送

receiveStreamFile.php 接收流檔案並儲存到本地

 

sendStreamFile.php

 

  1. <?php  
  2. /** php 發送流檔案 
  3. * @param  String  $url  接收的路徑 
  4. * @param  String  $file 要發送的檔案 
  5. * @return boolean 
  6. */  
  7. function sendStreamFile($url, $file){  
  8.   
  9.     if(file_exists($file)){  
  10.   
  11.         $opts = array(  
  12.             ‘http‘ => array(  
  13.                 ‘method‘ => ‘POST‘,  
  14.                 ‘header‘ => ‘content-type:application/x-www-form-urlencoded‘,  
  15.                 ‘content‘ => file_get_contents($file)  
  16.             )  
  17.         );  
  18.   
  19.         $context = stream_context_create($opts);  
  20.         $response = file_get_contents($url, false, $context);  
  21.         $ret = json_decode($response, true);  
  22.         return $ret[‘success‘];  
  23.   
  24.     }else{  
  25.         return false;  
  26.     }  
  27.   
  28. }  
  29.   
  30. $ret = sendStreamFile(‘http://localhost/fdipzone/receiveStreamFile.php‘, ‘send.txt‘);  
  31. var_dump($ret);  
  32. ?> 

receiveStreamFile.php

 

  1. <?php  
  2. /** php 接收流檔案 
  3. * @param  String  $file 接收後儲存的檔案名稱 
  4. * @return boolean 
  5. */  
  6. function receiveStreamFile($receiveFile){  
  7.   
  8.     $streamData = isset($GLOBALS[‘HTTP_RAW_POST_DATA‘])? $GLOBALS[‘HTTP_RAW_POST_DATA‘] : ‘‘;  
  9.   
  10.     if(empty($streamData)){  
  11.         $streamData = file_get_contents(‘php://input‘);  
  12.     }  
  13.   
  14.     if($streamData!=‘‘){  
  15.         $ret = file_put_contents($receiveFile, $streamData, true);  
  16.     }else{  
  17.         $ret = false;  
  18.     }  
  19.   
  20.     return $ret;  
  21.   
  22. }  
  23.   
  24. $receiveFile = ‘receive.txt‘;  
  25. $ret = receiveStreamFile($receiveFile);  
  26. echo json_encode(array(‘success‘=>(bool)$ret));  
  27. ?> 

 

php發送 與接收流檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.