我试图找到一个替代阅读php://输入。我使用它来从CURL PUT获取XML数据。
我通常这样做:
$xml = file_get_contents('php://input');
但是,我在Windows上遇到file_get_contents()
的一些问题。
是否有替代方案,可能使用fopen()
或fread()
?
答案 0 :(得分:1)
是的,你可以这样做:
$f = fopen('php://input', 'r');
if (!$f) die("Couldn't open input stream\n");
$data = '';
while ($buffer = fread($f, 8192)) $data .= $buffer;
fclose($f);
但是,你必须问自己的问题是为什么file_get_contents
不在Windows上工作?因为如果它不起作用,我怀疑fopen
是否适用于同一个流......
答案 1 :(得分:0)
确定。我想我找到了解决方案。
$f = @fopen("php://input", "r");
$file_data_str = stream_get_contents($f);
fclose($f);
另外,有了这个,我没有被要求加入文件大小。