2012-10-24 31 views
0

我有PHP应用程序尝试使用'file_get_contents'函数在'php:// input'中获得发布JSON。只有空字符串返回。以下是完整的代码行。获取文件内容'php://输入'不起作用

$_PUT = json_decode(file_get_contents("php://input"), true); 

或者我需要更改任何apache/php设置?

+2

你是如何构建请求? – Quentin

+2

从文档:“php://输入不适用于enctype =”multipart/form-data“。” – tobspr

+0

请求正在使用Angular $资源和JSON格式的数据。所以@TobiasSpringer,我需要在发送帖子时修改标题?即时通讯使用这个头文件'Content-Type':'application/x-www-form-urlencoded'' – wajatimur

回答

1

IM使用此头'Content-Type': 'application/x-www-form-urlencoded'

如果你的数据是应用程序/ x-WWW窗体-urlencoded,那么你应该通过$_POST访问它,而不是触摸原始HTTP请求主体。如果您使用的是非典型内容类型(例如application/json),则只能这样做。

如果您的数据不是这种格式,那么您应该使用正确的Content-Type标头。

+0

仍在作战,建议的解决方案不起作用。彻底检查标题并使用完全按照代码发送。 – wajatimur