上传时检查JSON文件

时间:2013-07-25 10:01:17

标签: php json file-upload

我正在创建上传功能,我想上传一个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文件”错误。

请告诉我这段代码有什么问题。

2 个答案:

答案 0 :(得分:2)

创建* .json文件时没有设置明确的文件类型。相反,文件mime-type将是application/octet-stream,这是一个二进制文件,通常是必须在应用程序中打开的应用程序或文档。

检查数组$_FILES['uploaded']的类型。

答案 1 :(得分: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')