[Решено] Ошибка при загрузке фото на сайт

Тема в разделе "PHP", создана пользователем EEEEEEElllllena, 6 сен 2015.

Статус темы:
Закрыта.
  1. EEEEEEElllllena

    EEEEEEElllllena

    Регистрация:
    6 сен 2015
    Сообщения:
    0
    Симпатии:
    0
    Здравствуйте! Может кто сможет помочь...
    При загрузке фото на сайт выскакивают ошибки
    Оnly variables should be assigned by reference
    //bff/img/thumbnail2.php [180]
    Undefined index: orig_width
    /modules/users/users.avatar.php [95]
    Undefined index: orig_height
    /modules/users/users.avatar.php [96]
    Слишком маленькая ширина/высота изображения.
    Изображения пробовала загружать разного размера, и 97 х 98 пкс. размер 18 кб. и большего размера - ошибка всегда одна и та же
    захожу в админку, нахожу эти файлы:
    users/users.avatar.php:

    89 private function save($nUserID, $aUploadData)
    90 {
    91 $sFilename = func::generator($this->filenameLetters, true).'.'.$aUploadData['ext'];
    92
    93 $th = new CThumbnail($aUploadData['tmp_name'], false);
    94 $nQuality = 90;
    95 $nWidth = $th->oImg['orig_width'];
    96 $nHeight = $th->oImg['orig_height'];
    97
    98 if($nWidth<100 && $nHeight<100) {
    99 $this->errors->set( _t('users', 'Слишком маленькая ширина/высота изображения') );
    100 return false;


    //bff/img/thumbnail2.php:

    155 if($this->checkIsImage($imgfile))
    156 {
    157 $this->oImg['orig_filename'] = $imgfile;
    158 if(!file_exists($imgfile))
    159 $this->error('no_file');
    160
    161 if($this->errors->no())
    162 {
    163 $aImageSize = getimagesize($imgfile);
    164 $this->oImg['src'] = $imgfile;
    165 $this->oImg['format'] = $aImageSize[2];
    166 $this->oImg['orig_width'] = $this->oImg['src_width'] = $aImageSize[0];
    167 $this->oImg['orig_height'] = $this->oImg['src_height'] = $aImageSize[1];
    168 $this->aDef['type'] = $aImageSize[2];
    169 $this->sFontDir = PATH_CORE.'fonts/';
    170 }
    171 }
    172 else
    173 {
    174 $this->error('file_isnt_image');
    175 }
    176 }
    177 /*заполняет массив ошибок*/
    178 private function initErrors()
    179 {
    180 $this->errors = &Errors::i( );
    181 }
    182
    183 private function error($key)
    184 {
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    В ошибках о размере говориться не об этом, а этом, что размеров вообще нет. То есть класс CThumbnail не заполняет размеры в массив в поле oImg.
    Я так понимаю, этот класс в файле thumbnail2.php.
    Вы можете вывести куда-то в лог содержимое переменной $aImageSize сразу после строки 163?
     
  3. ripmaster

    ripmaster

    Регистрация:
    5 сен 2015
    Сообщения:
    3
    Симпатии:
    3
    Уберите & в 180 строке
     
    EEEEEEElllllena нравится это.
Статус темы:
Закрыта.