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');
?>
使用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');
?>
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- Java IO与NIO的一些文件拷贝测试
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- php7 读取php.ini[4]
- upload上传单张图片
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- sql2005 附加数据库出错(错误号:5123)解决方法
- apache 环境下 php 的配置注意事项