在PHP中读取多部分/表单数据POST数据


Reading multipart/form-data POST data in PHP

我正在开发一个向Web服务发送数据的应用程序。传输的数据使用带有POST方法的https消息。

在服务器端,我用PHP编写了从POST消息中获取数据的代码(只要数据是字符串)

通过使用如下技术。

$servercall = $_POST['servercall'];

我现在发现的问题是,当我传输多部分/表单数据时,如何读取数据。

在objective-c中,我构造http消息如下。

NSURL *url = [NSURL URLWithString:@"<ADDRESS>"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"gc0p4Jq0M2Yt08jU534c0p";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"'r'n--%@'r'n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name='"photo'"; filename='"%@.jpg'"'r'n", @"teacherimage"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/octet-stream'r'n'r'n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:Array.picture]];
[body appendData:[[NSString stringWithFormat:@"'r'n--%@'r'n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name='"message'"'r'n'r'n%@", postSTRING] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"'r'n--%@'r'n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];

如何在PHP中读取http消息中的照片和文本字符串?我甚至不知道谷歌的技术。

若有任何不同,则所有数据都将保存在SQL数据库中。

感谢

我不知道Objective-C,但php有$_FILES数组,您可以在其中通过表单查找文件。很抱歉,如果我的答案没有意义,我从来没有使用过objective-c,也不打算使用它。试着使用var_dump($_FILES)。您不需要定义/声明它,因为它是一个php超级全局。