Использую код, указанный ниже, для загрузки файлов. Всё работает отлично, но в итоговом варианте, расширение у загружаемого файла может быть разное, можно ли как-то узнать расширение файла при его загрузке?
код:
$url = 'http://mysite.ru/myfile';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
file_put_contents("TendersDocs/1.xlsx", $data);
С такой ссылкой единственное что приходит в голову это проверять mime type и присваивать по нему самое часто-используемое расширение. Но, к сожалению точно узнать расширение так не выйдет.. Если верить списку типов офисных документов от мелкомягких, путаница может быть только с устаревшими расширениями документов https://blogs.msdn.microsoft.com/vsofficedeveloper/2008/05/08/office-2007-file-format-mime-types-for-http-content-streaming-2/
Если удобно через $_FILES (для файла с именем 'file') Способ 1.
$_FILES['file']['type']
Способ 2.
mime_content_type($_FILES["file"]["tmp_name"])
Способ 3.
pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION)
Способ 4.
$finfo = finfo_open(FILEINFO_MIME_TYPE); // возвращает mime-тип
foreach (glob("*") as $filename) {
echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
Например для файла с именем $filename
$arr=explode('.',$_FILES[$filename][name]);
$rashireniye=$arr[count($arr)-1];
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть адрес типа /catalog/cat1/cat2/, притом, cat1 и cat2 могут быть любымиНужно регулярное выражение для функции preg_match, пропускающее все подобные адреса:...