/** * Функция устанавливает параметры изображения (использует ф-ю getimagesize) * * @param (string) $imgName - имя файла изображения * @param (string) $imgDir - дарректория, в которой находится файл * * @return bool */ static function setParam($imgName, $imgDir) { $imgDir = filesys::setPath($imgDir); // проверяем существование файла if (@file_exists($imgDir . $imgName)) { // проверяем, является ли файл картинкой if ($params = @getimagesize($imgDir . $imgName)) { // проверяем тип изображения if (in_array($params[2], self::$imgTypes)) { self::$arrImgSubj['name'] = strtolower($imgName); self::$arrImgSubj['dir'] = strtolower($imgDir); self::$arrImgSubj['full_path'] = self::$arrImgSubj['dir'] . self::$arrImgSubj['name']; self::$arrImgSubj['width'] = $params[0]; self::$arrImgSubj['height'] = $params[1]; self::$arrImgSubj['type'] = $params[2]; self::$arrImgSubj['mime'] = strtolower($params['mime']); // если в скприпте установлена настройка "Создавать водяной знак для всех изображений" // т.е. для исходного и для всех его копий // тогда создаем водяной знак. // В этом случае исходное изображение уже будет содержать водяной знак // и все копии этого изображения тоже будут с водяным знаком if (CONF_FILES_IMG_CREATE_WATERMARK && CONF_FILES_IMG_CREATE_WATERMARK_ON === 'all') { if (!img::createWatermark()) { @unlink($imgDir . $imgName); return false; } } switch ($params[2]) { case 1: self::$arrImgSubj['ext'] = 'gif'; self::$arrImgSubj['resource'] = @ImageCreateFromGIF(self::$arrImgSubj['full_path']); break; case 2: self::$arrImgSubj['ext'] = 'jpg'; self::$arrImgSubj['resource'] = @ImageCreateFromJPEG(self::$arrImgSubj['full_path']); break; case 3: self::$arrImgSubj['ext'] = 'png'; self::$arrImgSubj['resource'] = @ImageCreateFromPNG(self::$arrImgSubj['full_path']); break; } // если в скприпте установлена настройка "Создавать водяной знак только для исходного изображения" // тогда создаем водяной знак. // В этом случае водяной знак будет только на одной картинке, а его копии будут без водяного знака if (CONF_FILES_IMG_CREATE_WATERMARK && CONF_FILES_IMG_CREATE_WATERMARK_ON === 'source') { if (!img::createWatermark()) { @unlink($imgDir . $imgName); return false; } } return true; } else { self::setError(ERROR_FILE_FORMAT_ERROR); @unlink($imgDir . $imgName); return false; } } else { self::setError(ERROR_FILE_NOT_IMAGE); @unlink($imgDir . $imgName); return false; } } else { self::setError(ERROR_FILE_NOT_EXISTS); return false; } return false; }