我正在创建上传功能,我想上传一个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文件”错误。
请告诉我这段代码有什么问题。
答案 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')