Nano Hash - криптовалюты, майнинг, программирование

Как я могу использовать getimagesize() с $_FILES['']?

Я делаю обработчик загрузки изображения, и я хотел бы, чтобы он определял размеры изображения, загруженного пользователем.

Итак, я начинаю с:

if (isset($_FILES['image'])) etc....

и я имею

list($width, $height) = getimagesize(...);

Как я должен использовать их вместе?

Большое спасибо

21.03.2012

Ответы:


1

Вы можете сделать это как таковой

$filename = $_FILES['image']['tmp_name'];
$size = getimagesize($filename);

// or

list($width, $height) = getimagesize($filename);
// USAGE:  echo $width; echo $height;

Используя комбинированное условие, вот пример

if (isset($_FILES['image'])) {
    $filename = $_FILES['image']['tmp_name'];
    list($width, $height) = getimagesize($filename);
    echo $width; 
    echo $height;    
}
21.03.2012
  • Привет, спасибо за ваш ответ. Является ли этот $size массивом всех атрибутов изображения? Я просто ищу только высоту и ширину, так что я думаю, что это элементы этого массива? Спасибо 21.03.2012
  • @ eric01, нет, вы можете использовать его со списком. Я обновил пример 21.03.2012
  • @Starx Что делать, если у меня несколько файлов? :Икс 08.04.2015

  • 2

    из руководства по php очень простой пример.

    list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
    echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />";
    
    21.03.2012

    3
    list($w, $h) = getimagesize($_FILES['image']['tmp_name']);
    

    Из документов:

    Индекс 0 и 1 содержит соответственно ширину и высоту изображения.

    Индекс 2 — это одна из констант IMAGETYPE_XXX, указывающая тип изображения.

    Индекс 3 — это текстовая строка с правильной строкой height="yyy" width="xxx", которую можно использовать непосредственно в теге IMG.

    Так что вы можете просто сделать list() и не беспокоиться об индексах, он должен получить нужную вам информацию :)

    21.03.2012

    4

    Попробуйте это для нескольких изображений:

    for($i=0; $i < count($filenames); $i++){  
    
        $image_info = getimagesize($images['tmp_name'][$i]);
        $image_width  = $image_info[0];
        $image_height = $image_info[1];
    }
    

    Попробуйте это для одного изображения:

    $image_info = getimagesize($images['tmp_name']);
    $image_width  = $image_info[0];
    $image_height = $image_info[1];
    

    по крайней мере, это работает для меня.

    03.09.2016
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..