[英]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.