У меня есть сценарий, который генерирует JSON-файл из данных. У меня есть второй скрипт, который читает файлы из каталога, чтобы брать только JSON и вставлять их в БД.JSON файл сгенерирован PHP имеет тип mime приложения/octet-stream
Проблема заключается в том, что второй сценарий определяет «приложение/октет-поток» MIME тип из моих сгенерированных файлов вместо application/json
Я не хочу, чтобы application/octet-stream
MIME тип, как это может быть довольно ничего (для причина безопасности: этот второй скрипт загружает весь файл json
в каталог (а не только сгенерированные)).
Есть ли в любом случае «установить» тип MIME для файла?
код, который генерирует файл:
if($r_handle = fopen($s_file_name, 'w+')){
fwrite($r_handle, json_encode($o_datas, JSON_HEX_QUOT | JSON_HEX_TAG));
fclose($r_handle);
return;
}
Код, читать JSON файлы:
$o_finfo = finfo_open(FILEINFO_MIME_TYPE);
$a_mimes =& get_mimes();
if(is_dir($s_dir) && $r_handle = opendir($s_dir)){
while($s_file = readdir($r_handle)){
$s_file_path = $s_dir.$s_file;
$s_mime = finfo_file($o_finfo, $s_file_path);
if(!in_array($s_file, array('.', '..')) && in_array($s_mime, $a_mimes['json'])){
// Some code
}
}
}
Нет, вы не можете «установить» тип MIME. Finfo просто * угадывает *, насколько это возможно. «application/octet-stream» в значительной степени означает «dunno, это файл, который я думаю». Какой технический ответ правильный ... – deceze
Если я понимаю вопрос, вы можете установить тип содержимого в 'header()' и 'fopen()' файл в PHP, правильно? –
@SteveKnau: Могу ли я сделать 'header()' then 'fopen()' then 'fwrite()' then 'fclose()'? – VeZoul