0

ファイルフォームのアップロードに問題があります。すべてのブラウザーで機能しないコードの簡単な例をここに書きます。

HTML部分は次のようなものです:

 <form method="POST" enctype="multipart/form-data" action="match.php">
       <input class="btn btn-info" name="dataset" type="file" id="dataset" />
       <input class="btn btn-info" type="submit" name="submit" value="Submit" />
 </form>

次に、match.php ファイルで、たとえば次のようにファイルを取得して処理します。

if ($_FILES["dataset"]["error"] > 0 || !($_FILES["dataset"]["size"] > 0)) {
    $dataset = "default.txt";
    echo 'error:' . $_FILES["dataset"]["error"] . ' -  filesize:' . $_FILES["dataset"]["size"];
} else {
    $dataset = $_FILES["dataset"]["tmp_name"];
    echo "Ok";
    print_r($_FILES);
}

非常に簡単です。アップロード プロセス中にエラーが発生した場合は、デフォルト ファイルを使用します (そしてエラー情報を出力します)。それ以外の場合は、すべて問題ありません。

まあ、これは一部のブラウザを除いて完全に機能します。たとえば、Android の既定のブラウザー(Chrome ではなく) で問題が発生しましたが、Windows システムの一部のブラウザーでも同様のようです (正直に言うと、自分で試したことはありません)。

私が印刷したエラー情報を使用すると、エラーはないように見えますが$_FILES["dataset"]["error"](出力は 0)、ファイルサイズは0です(これらのブラウザーのみ)。

フォルダのアクセス許可に問題はありません (「default.txt」ファイル情報を使用してフォルダにファイルを書き込みます)、php.iniの設定に問題はありません (実際には 65kb の同じ txt ファイルでテストしました)。

4

1 に答える 1

0

nameボタンの属性を変更してみてください。私はこの問題について少し前に見ました。

<input class="btn btn-info" type="submit" name="send" value="Submit" />
于 2012-12-03T04:13:43.027 に答える