RadCor
@RadCor
Если мой ответ вам помог, отмечайте его решением.

Как вывести на страницу размер загруженного и прикреплённого к посту файла?

Использую плагин Advanced Custom Fields для добавления доп полей.
В общем добавил поле для загрузки архива, загружает файлы на сайт, через стандартный файловый менеджер. Там же мы моем видеть размер файла.
Как вывести размер загруженного файла на страницу сайта?

6b39b2991ef943ad900997b01030948f.jpg
  • Вопрос задан
  • 1377 просмотров
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
В ACF поле указывайте тип возвращаемых данных, чтобы прилетал массив, в котором будет ID аттачмента. Сам аттачмент будет иметь метаданные, запись с ключом _wp_attached_file, содержащая относительный путь к файлу. Добавьте к нему путь в папке загрузок, и используйте обычный filesize(). Это чтоб вы понимали что, как и где хранится.
// Путь к папке загрузок, абсолютный
$upload_dir = wp_upload_dir();
$upload_path = $upload_dir['basedir'];

// Сам файл и его относительный путь
$file = get_field('file');
$file_path = get_post_meta( $file['ID'], '_wp_attached_file', true );

echo filesize( $upload_path . '/' . $file_path );

Но это долго и нудно :) У WordPress, как обычно, есть все что надо.
$file = get_field('file');
echo filesize( get_attached_file( $file['ID'] ) );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы