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