Изучение PHP на практических примерах
  256ПрограммированиеPHPПолучение информации о растровом изображении без использования библиотеки GD

Получение информации о растровом изображении без использования библиотеки GD

Поддерживаемые форматы изображений: JPEG, GIF, BMP, PSD, TIFF, SWC, IFF, JPEG2000, JPC, JP2, JPX, JB2, XBM, WBMP. Начиная с версии PHP 5.3.0 так же поддерживается формат файла ICO.

Настройка оформления для вывода результатов

Для классов echo1 и echo2 установите в таблице стилей параметры форматирования блока по собственному вкусу. Например, так:

.echo1 {
color: #F00;
font-weight: bold;
} .echo2 {
color: #F00;
word-spacing: 10px;
}

PHP-скрипт для чтения информации о растровом изображении.

<?php
/* Комментарии "спрятаны" в php-коде, чтобы они
не передавались на компьютер пользователя.
*/ ?>
<?php
// Создать массив типов файлов, с которыми может работать скрипт
$extentions = array(".jpg", ".jpeg");

// Отфильтровать входные данные, полученные через GET
if ( isset($_GET['photo']) AND !empty($_GET['photo']) )
$photo = trim(strip_tags($_GET['photo']));
else $photo = "; // Здесь Вы можете вывести информационное сообщение и остановить работу скрипта или сделать это чуть позже.

// Проверить существует ли файл
if ($photo == " OR !file_exists($photo)) {
echo "<h3>Файл $photo не существует. Проверьте правильность пути и имени файла</h3>";
exit(); // Завершение скрипта
} // Проверить тип файла
if (in_array(strrchr($photo, "."), $extentions)) {
// Функция возвращает имя файла из указанного пользователем пути.
$name = basename ($photo);

// Получить размер графического изображения в пикселях.
// Используется стандартная функция php.
$size_foto_px=getimagesize($photo);
// $size_foto[0] ширина изображения в пикселях
// $size_foto[1] высота изображения в пикселях

// Получить размер файла в байтах, используется стандартная функция php.
$size_foto_bytes=filesize($photo);
echo "Фотография <span class='echo1'>$photo</span> имеет размер <span class='echo1'>$size_foto_px[0]x$size_foto_px[1] </span> пикселей и <span class='echo1'>$size_foto_bytes </span> байт<br>";
} else {
echo "<h3>Файл $photo имеет не допустимый тип файла</h3>";
echo "Разрешено использовать только: <span class='echo2'>";
// Вывести через пробел список допустимых типов файлов
foreach ($extentions as $ext) echo " $ext ";
echo "</span>";
exit(); // Завершение скрипта
} ?>

Рекламный блок

Информационный блок