[英]Alternative way to read raw I/O stream in PHP
我试图找到一个替代阅读php://输入。 我使用它来从CURL PUT获取XML数据。
我通常这样做:
$xml = file_get_contents('php://input');
但是,我在Windows上遇到了一些与file_get_contents()
有关的问题。
是否有替代方案,可能使用fopen()
或fread()
?
是的,你可以这样做:
$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
会为同一个流工作......
好。 我想我找到了解决方案。
$f = @fopen("php://input", "r");
$file_data_str = stream_get_contents($f);
fclose($f);
另外,有了这个,我没有强制要求放入文件大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.