0

我正在使用Valums File Uploader插件。这个插件在 Chrome 上运行,但我在 Firefox 上遇到了问题。我已经隔离了问题,但我无法猜测发生了什么......

问题在这里:

function save($path) {
    $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);

    return true;
}

这段 PHP 是服务器的一部分,该函数应该将上传的文件移动到$path. 问题是不$input包含数据,它是空的。即使我把它放在我的 PHP 处理程序文件的第一行:

$postdata = file_get_contents("php://input");

字符串为$postdata空。仅在 Firefox 中,不在 Chrome 中。如果我去客户端,Firebug 显示 Firefox 正在发送文件:

在此处输入图像描述

但是如果你去 PHP 文档,它会php://input is not available with enctype="multipart/form-data" ”,所以我不知道问题是Firefoxphp://input还是发送一个带有multipart/form-data(没有这个,我不知道如何发送文件)。有什么问题?

4

0 回答 0