Изображения удаляются по области, а затем их необходимо автоматически сохранять на сервере.Как получить тип контента mime из «php: // input» в PHP
Изображения отправляют запрос AJAX.
Я хотел бы проверить тип mime со стороны сервера, чтобы быть уверенным, что я ничего не сохраню в безопасности.
Заголовки на самом деле не являются решением, потому что они исходят со стороны клиента, поэтому их можно изменить.
PHP
Я получаю файл, как это:
$source = file_get_contents('php://input');
Я пытался получить тип пантомимы с
mime_content_type($filename);
и
finfo_file($finfo, $filename);
но что такое $ filename в моем случае? Он не работает с
$filename = 'php://input';
Могу ли я получить тип контента mime по-другому?
AJAX
addEvent(canvas, 'drop', function(e) {
e.preventDefault();
var files = e.dataTransfer.files;
upload(files,e.target,0);
});
function upload(files, area, index){
var file = files[index];
xhr.open("post", "/index.php", true);
xhr.setRequestHeader("content-type", "multipart/form-data");
xhr.setRequestHeader("X-File-Type", file.type);
xhr.setRequestHeader("X-File-Size", file.size);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
read(xhr.responseText);
}
}
xhr.send(file);
}
Любая идея?
Не можете вы просто сохранить файл во временном каталоге, затем используйте 'mime_content_type ($ tmp_name)', а затем выберите, хотите ли вы удалить файл или просто перенести его из папки temp? – Cyclonecode
Он отлично работает! Спасибо :-) –