Я создал контроллер, который обрабатывает файловые записи, перемещает загруженные файлы в папку рядом с файлом index.php (не в папке приложения, потому что я хочу получить доступ к файлам напрямую через http).
Загрузка отлично работает на серверах под управлением Windows, но не на Linux. Версия PHP остается одинаковой на каждом сервере и на моей локальной машине.
Код:
$config['upload_path'] = 'files/pictures/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '10240';
$config['encrypt_name'] = true;
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('Filedata'))
{
//error handling
}
else
{
$data = array('upload_data' => $this->upload->data());
imageResize($data['upload_data']['full_path'],600);
}
Как видите, ничего особенного, это обычный загрузчик изображений на основе CI.
Почему я получаю сообщение об ошибке в Linux?
Я пробовал несколько способов с путем загрузки, но ни один из них не работает. В папке есть chmod 777.
$config['upload_path'] = './files/pictures/';
$config['upload_path'] = './files/pictures';
$config['upload_path'] = 'files/pictures/';
$config['upload_path'] = 'files/pictures';
Ничто из этого не работает под Linux.