Как получить размер файла из библиотеки файлов в KB, MB?
Здравствуйте, созрел такой вопрос и хотелось бы услвшать его решение, наверняка в WordPress есть уже что-то готовое для этого...
В общем, мне нужно узнать размер файла-картинки и если он превышает указанный мной размер, то производить какие-то действия...
Собственно вопрос озвучен в заголовке: как узнать размер файла-картинки, который находится в медиафайлах WordPress, если у меня есть ID этого файла-картинки.
Спасибо!
Буквально, только что отвечал на такой же вопрос в комментариях. Но вам спасибо за то что задали его тут.
Получить размер файла картинки можно так:
Привет. Есть Вопрос. Код работает, но хотелось бы для скачиваемых продуктов настроить. Как можно сделать так чтобы, автоматически получать ID вложения а не писать вручную. К примеру есть товар, к нему прикреплен файл... Есть совет? Спасибо большое за ответ.
Проблема в том что в товарах могут быть файлы не из библиотеки а по прямой ссылке. Проще тогда получить размер файла по ссылке.
//Получаем ссылку на файл $file = $product->get_downloads( $post->ID); $link = $file->get_file(); //Далее получаем размер файла в байтах $file_open = fopen($link, "r"); $file_size = 0; while(($str = fread($file_open, 1024)) != null) { $file_size += strlen($str); } echo $file_size;И соответственно, если в товаре несколько файлов, проходимся циклом по
$file.Подскажите, есть вот такой код, как после указания размеров, добавить вес картинки в кб, мб?
// Выводим каждую картинку из галереи foreach( $pictures as $pic ) { $src = $pic->guid; $t = esc_attr( $pic->post_title ); $title = ( $t && false === strpos($src, $t) ) ? $t : ''; $caption = ( $pic->post_excerpt != '' ? $pic->post_excerpt : $title ); $href = get_permalink($pic->ID); $metadata = wp_get_attachment_metadata($pic->ID); $wh = ''; if(!empty($metadata['width']) && !empty($metadata['height'])) { $wh = '' . $metadata['width'] .'x' . $metadata['height'] .''; }