Как я могу получить метаданные и информацию exif из опубликованного сообщения в Instagram на php? ⇐ Php
Как я могу получить метаданные и информацию exif из опубликованного сообщения в Instagram на php?
С помощью онлайн-просмотрщика exif я вижу, что следующую информацию можно получить из опубликованного поста в Instagram.
[https://www.metadata2go.com/result#j=79 ... a33e42602e]
имя_файла 378996423_1583432815397894_4604468632574713944_n.jpg размер файла 345 КБ тип файла JPEG file_type_extension jpg mime_type изображение/JPEG jfif_version 1.01 Единица_разрешения Никто x_разрешение 72 y_разрешение 72 xmp_toolkit Adobe XMP ядро 5.1.2 версия 1 каталог_item_semantic Начальный каталог_item_mime изображение/JPEG длина каталога_item_length 54828 mpf_version 100 количество_изображений 2 mp_image_flags (никто) mp_image_format JPEG mp_image_type Неопределенный mp_image_length 54828 mp_image_start 289682 dependent_image1_entry_number 0 dependent_image2_entry_number 0 ширина_изображения 1440 изображение_высота 1800 г. кодирующий_процесс Базовый DCT, кодирование Хаффмана бит_на_выборку 8 цвет_компоненты 3 y_cb_cr_sub_sampling YCbCr4:2:0 (2 2) Размер изображения 1440x1800 мегапиксели 2.6 mp_image2 (Двоичные данные 54828 байт) категория изображение
Итак, я хочу получить все эти метаданные и информацию EXIF в php.
Моя функция
общедоступная статическая функция uploadFileToS3 ($fileUrl, $resize = true) { пытаться { $data['статус'] = ложь; $fileFromUrl = parse_url($fileUrl); $fileExt = pathinfo($fileFromUrl['path'], PATHINFO_EXTENSION); // $imgSizeArr = get_headers($fileUrl, 1); // //$imgSize = round($imgSizeArr["Content-Length"] / 1024, 2); // В КБ // $imgSize = $imgSizeArr["Content-Length"]; // В байтах // if($imgSize < CmnEnum::GOOGLE_GMB_MIN_FILE_SISE) { // Log::error("Размер изображения слишком мал: " . $imgSize); // возвращаем ложь; // } $filePath = config('constants.fileStorePath.uploaded') . getCustomEnv('APP_ENV') . '/' . 'интаграммы/'; $uniqueName = date('YmdHis') . '_' . уникид(). '.' . $fileExt; $fileNameWithPath = $filePath. $уникальноеИмя; если (!file_exists(public_path($filePath))) { \File::makeDirectory(public_path($filePath), 0777, true, true); } // приветは対応していないためjpegに変換 Log::debug("ЭТО РАСШИРЕНИЕ ФАЙЛА".print_r($fileExt,TRUE)); if ($fileExt == 'heic') { $fileExt = 'jpeg'; } если ($ изменить размер) { $resizedImage = Image::make($fileUrl)->resize(CmnEnum::GOOGLE_GMB_RECM_RES_SQUARE, CmnEnum::GOOGLE_GMB_RECM_RES_SQUARE)->encode($fileExt); //$compressedImage = compressImage($fileUrl, public_path($fileNameWithPath), 72); // исходное изображение, конечное изображение, преобразование $resizedImage->exif(); $result = Storage::disk('s3')->put($fileNameWithPath, $resizedImage->__toString(), CmnEnum::AWS_S3_VISIBILITY_PUBLIC); } еще { $result = Storage::disk('s3')->put($fileNameWithPath, Image::make($fileUrl)->encode($fileExt)->__toString(), CmnEnum::AWS_S3_VISIBILITY_PUBLIC); } если ($результат) { $data['статус'] = правда; $data['fileNameWithPath'] = $fileNameWithPath; вернуть $данные; } Log::error("Изображение не загружено в s3"); вернуть $данные; } catch (\Exception $e) { $data['статус'] = ложь; writeCustomLog($e); Log::error("Не удалось загрузить изображение на s3"); вернуть $данные; } }
здесь
$fileUrl = (Ссылка на опубликованную публикацию в Instagram)
Здесь я хочу обнаружить многокадровое изображение, которое можно увидеть в приведенной выше информации, где number_of_images = 2.
Примечание: я не могу установить ImageMagick.
С помощью онлайн-просмотрщика exif я вижу, что следующую информацию можно получить из опубликованного поста в Instagram.
[https://www.metadata2go.com/result#j=79 ... a33e42602e]
имя_файла 378996423_1583432815397894_4604468632574713944_n.jpg размер файла 345 КБ тип файла JPEG file_type_extension jpg mime_type изображение/JPEG jfif_version 1.01 Единица_разрешения Никто x_разрешение 72 y_разрешение 72 xmp_toolkit Adobe XMP ядро 5.1.2 версия 1 каталог_item_semantic Начальный каталог_item_mime изображение/JPEG длина каталога_item_length 54828 mpf_version 100 количество_изображений 2 mp_image_flags (никто) mp_image_format JPEG mp_image_type Неопределенный mp_image_length 54828 mp_image_start 289682 dependent_image1_entry_number 0 dependent_image2_entry_number 0 ширина_изображения 1440 изображение_высота 1800 г. кодирующий_процесс Базовый DCT, кодирование Хаффмана бит_на_выборку 8 цвет_компоненты 3 y_cb_cr_sub_sampling YCbCr4:2:0 (2 2) Размер изображения 1440x1800 мегапиксели 2.6 mp_image2 (Двоичные данные 54828 байт) категория изображение
Итак, я хочу получить все эти метаданные и информацию EXIF в php.
Моя функция
общедоступная статическая функция uploadFileToS3 ($fileUrl, $resize = true) { пытаться { $data['статус'] = ложь; $fileFromUrl = parse_url($fileUrl); $fileExt = pathinfo($fileFromUrl['path'], PATHINFO_EXTENSION); // $imgSizeArr = get_headers($fileUrl, 1); // //$imgSize = round($imgSizeArr["Content-Length"] / 1024, 2); // В КБ // $imgSize = $imgSizeArr["Content-Length"]; // В байтах // if($imgSize < CmnEnum::GOOGLE_GMB_MIN_FILE_SISE) { // Log::error("Размер изображения слишком мал: " . $imgSize); // возвращаем ложь; // } $filePath = config('constants.fileStorePath.uploaded') . getCustomEnv('APP_ENV') . '/' . 'интаграммы/'; $uniqueName = date('YmdHis') . '_' . уникид(). '.' . $fileExt; $fileNameWithPath = $filePath. $уникальноеИмя; если (!file_exists(public_path($filePath))) { \File::makeDirectory(public_path($filePath), 0777, true, true); } // приветは対応していないためjpegに変換 Log::debug("ЭТО РАСШИРЕНИЕ ФАЙЛА".print_r($fileExt,TRUE)); if ($fileExt == 'heic') { $fileExt = 'jpeg'; } если ($ изменить размер) { $resizedImage = Image::make($fileUrl)->resize(CmnEnum::GOOGLE_GMB_RECM_RES_SQUARE, CmnEnum::GOOGLE_GMB_RECM_RES_SQUARE)->encode($fileExt); //$compressedImage = compressImage($fileUrl, public_path($fileNameWithPath), 72); // исходное изображение, конечное изображение, преобразование $resizedImage->exif(); $result = Storage::disk('s3')->put($fileNameWithPath, $resizedImage->__toString(), CmnEnum::AWS_S3_VISIBILITY_PUBLIC); } еще { $result = Storage::disk('s3')->put($fileNameWithPath, Image::make($fileUrl)->encode($fileExt)->__toString(), CmnEnum::AWS_S3_VISIBILITY_PUBLIC); } если ($результат) { $data['статус'] = правда; $data['fileNameWithPath'] = $fileNameWithPath; вернуть $данные; } Log::error("Изображение не загружено в s3"); вернуть $данные; } catch (\Exception $e) { $data['статус'] = ложь; writeCustomLog($e); Log::error("Не удалось загрузить изображение на s3"); вернуть $данные; } }
здесь
$fileUrl = (Ссылка на опубликованную публикацию в Instagram)
Здесь я хочу обнаружить многокадровое изображение, которое можно увидеть в приведенной выше информации, где number_of_images = 2.
Примечание: я не могу установить ImageMagick.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Измените размер изображения с помощью Python и сохраните метаданные EXIF и XMP.
Anonymous » » в форуме Python - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Обратный вызов Instagram открывается в системном браузере вместо браузера Instagram Inapp.
Anonymous » » в форуме Php - 0 Ответы
- 60 Просмотры
-
Последнее сообщение Anonymous
-