1

JSONファイルをアップロードしたいアップロード機能を作成しています。

ファイル内の私の JSON 文字列は次のとおりです。{"name":"John"}

私のPHPコード:

$fileType = $_FILES['uploaded']['type'];
if ($fileType != "application/json") {
  print 'Not valid JSON file';
}

も試しました:

$fileType = $_FILES['uploaded']['type'];
if ($fileType != "text/json") {
  print 'Not valid JSON file';
}

JSON ファイルをアップロードしようとすると、「有効な JSON ファイルではありません」というエラーが表示されます。

このコードの何が問題なのか教えてください。

4

2 に答える 2

2

*.json ファイルの作成時に、明示的なファイル タイプの設定はありません。代わりに、ファイルの mime-type は になりますapplication/octet-stream。これはバイナリ ファイルであり、通常はアプリケーションまたはアプリケーションで開く必要があるドキュメントです。

配列$_FILES['uploaded']のタイプを確認してください。

于 2013-07-25T10:20:57.823 に答える
1

「application/json」というものはありません。アップロード後、file_get_contents() [http://pl1.php.net/manual/en/function.file-get-contents.php] を使用してファイル全体を文字列に読み取り、json_decode() [http://php.net /manual/en/function.json-decode.php]、実際の json でない場合は null を返します。

$content = file_get_contents($filePath);
$json = json_decode($content, true);
if($json === null) print('Its not a Json! Its a Jacob:P')
于 2013-07-25T10:36:47.477 に答える