По некоторым техническим вопросам я не могу отправить файл с моего ввода на мой сервер традиционным способом. Я должен прочитать данные из файла, привязать это к модели и отправить эти данные (как огромную строку) на сервер. Допустим, что мой пользователь загрузить .jpg, мой код выглядит следующим образом:Есть ли способ узнать тип файла только с данными
// This return the data in the form of a simple string.
$data = $this->getRequest()->request->get('document[document_file]', null, true);
// Let's assume that I know what type of file my user send me
$data = explode("data:image/jpeg;base64,", $file);
$data = base64_decode($data[1]);
$image = imagecreatefromstring($data);
imagejpeg($image, "test.jpg");
Моя проблема заключается в том, что я понятия не имею, какой тип файла мой пользователь будет загружать. Есть ли способ узнать, какой тип файла он имеет, и сохранить его более эффективным способом. Каков более эффективный способ решения такой проблемы?
EDIT: Следует отметить, что это не всегда изображение. Это может быть .pdf, .doc, .txt!
Попробуйте посмотреть на FILEINFO расширения: http://php.net/manual/pl/book.fileinfo.php, или если вы ожидаете изображения, вы можете попробовать проверить файл, используя 'imagecreatefromstring() ',' getimagesizefromstring() 'и т. д. и проверьте наличие ошибок. – piotrekkr
@piotrekkr Я не знаю, если это образ, это может быть .doc, .txt, .pdf, я посмотрю на fileinfo –
Я написал 'если вы ожидаете изображения', а не если вы уверены:) – piotrekkr