簡體   English   中英

在PHP中讀取原始I / O流的替代方法

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM