Загрузка изображения на сервер не удалась CAKEPHP

Мне нужна помощь в этом. Я создал веб-приложение в cakephp. на локалхосте все работает нормально. изображения загружаются, вставляются, удаляются правильно. В тот момент, когда я загрузил его на сервер, он показывает ошибку!

Примечание (8): Неопределенный индекс: Slider [APP/Model/Slider.php, строка 245]

Примечание (8): Неопределенный индекс: Slider [APP/Model/Slider.php, строка 247]

Предупреждение (2): unlink(/home8/ceraunia/public_html/afs/cesi/admin/app/webroot/img/uploads/slider/images/) [function.unlink]: это каталог [ APP/Model/Slider.php, строка 248]

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

Любая помощь будет очень признательна.

ИЗМЕНИТЬ:

Это код, который вызывает проблему:

 public function afterSave($created, $options = array()) {
    $dir = 'img' . DS . 'uploads' . DS . 'slider' . DS . 'images' . DS; /*<=== DO NOT EDIT*/
 // then after deletation of the row we check if the file exist, if so we delete it. 
    if(isset($this->data[$this->alias]['pic_path']) && file_exists(WWW_ROOT . $dir .  $this->image['Slider']['pic_path'])){
        $img = WWW_ROOT . $dir . $this->image['Slider']['pic_path'];
        unlink($img);
        return true;                
   } else { $this->data[$this->alias]['pic_path'] = $this->image['Slider']['pic_path']; }
   return true;
} 

person erlandmuchasaj    schedule 01.04.2014    source источник
comment
может быть полезно посмотреть строки 245 и 247 модели Slider? Кроме того, некоторые характеристики сервера (например, версия php) по сравнению с вашим локальным хостом. Вы не даете нам много информации для работы.   -  person Nunser    schedule 01.04.2014
comment
Я добавил дополнительные строки кода, которые вы просили! ... я не знаю, что мне здесь не хватает, у вас есть идеи @Nunser?   -  person erlandmuchasaj    schedule 02.04.2014
comment
Из того, что я вижу, не зная, что есть у $this->image, у этого массива просто нет индекса. Теперь, почему это не имеет его? Я не знаю, может быть, покажите, как вы сохраняете эти данные в первую очередь? И, пожалуйста, добавьте версию php и mysql вашего локального хоста и сервера.   -  person Nunser    schedule 02.04.2014


Ответы (1)


Как насчет того, чтобы просто читать сообщения?

/home8/ceraunia/public_html/afs/cesi/admin/app/webroot/img/uploads/slider/images/) [function.unlink]: Каталог

Вы пытаетесь удалить каталог с помощью unlink(). Я думаю, поскольку вы не показываете трассировку стека, два других уведомления из-за отсутствующего имени файла.

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

Еще одно предположение: вы используете Windows, а сервер представляет собой * nix-бокс, и вы не используете константу DS для разделителей каталогов?

person floriank    schedule 01.04.2014
comment
Это не каталог, это изображение внутри каталога. И дело в том, что ошибка возникает, когда я пытаюсь добавить новую запись. Но когда я деактивирую отчеты об ошибках. изображение загружается успешно. как положено. - person erlandmuchasaj; 02.04.2014
comment
Это каталог. Или вы думаете, что парсер вам врет? Что ж, если вы так думаете, создайте отчет об ошибке на php.net и сообщите им, что unlink() работает неправильно ... Я также объяснил, почему это, вероятно, каталог в моем ответе. Отключение ошибок ни в коем случае не является решением, просто ужасная плохая практика. Начните учиться правильно отлаживать. - person floriank; 02.04.2014