您的位置:首页 > 编程语言 > PHP开发

iOS上传二进制流文件,PHP接收并生成文件

2016-04-07 00:00 676 查看
摘要: NSURLSession,PHP

使用CocoaLumberjack写下的日志文件需要上传到服务器,用于用户操作分析

前端iOS:

NSURLSession:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"../upload.php"]];
[request setHTTPMethod:@"POST"];
.........

[request setValue:@"application/octet-stream" forHTTPHeaderField:@"Content-Type"];

后端upload.php(Ngnix+PHP)

<?php
$log_fn = "tag.txt";
file_put_contents($log_fn,"you upload a log file\n",FILE_APPEND);
//$_POST无法解释二进制流,需要用$GLOBALS['HTTP_RAW_POST_DATA']或file_get_contents('php://input')

function binary_to_file($file) {
$content = $GLOBALS['HTTP_RAW_POST_DATA'];
if(empty($content)) {
$content = file_get_contents('php://input');
}
$ret = file_put_contents($file,$content,true);
return $ret;
}
binary_to_file('access.log');
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息