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空です。Chrome ではなく、Firefox でのみ。クライアント側に行くと、Firebug は Firefox がファイルを送信していることを示しています。

ここに画像の説明を入力

しかし、PHP のドキュメントを見ると、php://input is not available with enctype="multipart/form-data"」と記載されているため、問題が なのかFirefoxphp://inputそれともmultipart/form-data(これなしでファイルを送信する方法はわかりません)。どうしたの?

4

0 に答える 0