2
我使用Valums File Uploader使用XHR上傳文件。我使用的腳本在我的活動服務器上效果很好,但在本地服務器上失敗。有關的代碼如下:PHP stream_copy_to_stream在本地服務器上無法正常工作
$input = fopen("php://input", "r");
$temp = tmpfile();
$realSize = stream_copy_to_stream($input, $temp);
fclose($input);
if ($realSize != $this->getSize()){
return false;
}
$target = fopen($path, "w");
fseek($temp, 0, SEEK_SET);
stream_copy_to_stream($temp, $target);
fclose($target);
chmod($path, 0644);
的事情是,$ realSize是我的本地服務器上,而空它確實有我的活的服務器上的值。所以在本地服務器上,它的大小檢查就會中斷。我懷疑這是一個服務器配置問題,但我不完全知道要尋找什麼。有人能指引我進入正確的方向嗎?
你確定'$ input'和'$ temp'都是有效的資源嗎? – Matt
我對'stream_copy_to_stream'不是很熟悉,但是你的代碼看起來不像[manual](http://php.net/manual/en/function.stream-copy-to-stream)中的例子。 PHP)。 '$ temp'不是'fopen()'的結果嗎? (當然,除非'tmpfile()'是做什麼的。) – Matt
嗨馬特,它是來自Valums文件上傳器(http://valums.com/ajax-upload/)的一段代碼。但是你對資源$ input和$ temp的有效性提出質疑。 $ temp似乎是空的,所以我會從這一點看看。 – tvgemert