반응형
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/fdipzone/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' 카테고리의 다른 글
php 한 변이 N인 솔리드 및 속이 빈 마름모꼴을 인쇄 (0) | 2022.08.22 |
---|---|
curl https 요청 방법 가져오기 (0) | 2022.08.22 |
php Y2K38 취약점 해결 방법 (0) | 2022.08.22 |
php HTTP 요청 클래스, GET, POST, Multipart/form-data 지원 (0) | 2022.08.19 |
php fsockopen GET/POST를 이용한 양식 제출 및 파일 업로드 (0) | 2022.08.19 |