Существует только несколько причин возникновения этой ошибки:
- Каталог
site_path().'photos/'
не существует, попробуйте запустить is_dir()
, чтобы убедиться в этом. - каталог существует, но недоступен для записи.Убедитесь, что вы установили соответствующие разрешения для каталога.Попробуйте выполнить
is_writable()
, чтобы убедиться. - Каталог, который вы хотите использовать, существует, но вы не правильно представили его в библиотеке загрузки.Попробуйте использовать абсолютный путь с конечной косой чертой, аналогично примеру в руководстве пользователя .
Кроме этого, я не могу придумать никакого объяснения.Вот код CI, который проверяет путь (часть класса Upload):
public function validate_upload_path()
{
if ($this->upload_path == '')
{
$this->set_error('upload_no_filepath');
return FALSE;
}
if (function_exists('realpath') AND @realpath($this->upload_path) !== FALSE)
{
$this->upload_path = str_replace("\\", "/", realpath($this->upload_path));
}
// This is most likely the trigger for your error
if ( ! @is_dir($this->upload_path))
{
$this->set_error('upload_no_filepath');
return FALSE;
}
if ( ! is_really_writable($this->upload_path))
{
$this->set_error('upload_not_writable');
return FALSE;
}
$this->upload_path = preg_replace("/(.+?)\/*$/", "\\1/", $this->upload_path);
return TRUE;
}
Обновление:
В соответствии с вашими комментариями, попробуйте это вместо этого, и давайте посмотрим, что происходит, прежде чем перейти кследующий шаг отладки:
$config['upload_path'] = './community/photos/';