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

没有“应用程序/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 回答