Codeigniter: загрузка файлов - PullRequest
       0

Codeigniter: загрузка файлов

0 голосов
/ 10 ноября 2011

Приложение, которое я разрабатываю, требует получения PDF-файла от пользователя и его изменения, а затем выплевывания его для использования другими пользователями.

Изучив руководство по содержанию, я обнаружил, что в каталоге выгрузки файлов, который вы упоминаете в пути к файлу конфигурации, должен быть включен ftp chmod 777.

К сожалению, проверил у компании, у которой есть хостинг, максимум, что я могу получить из нашего ftp - 755.

Вопрос 1)

Есть ли в Codeigniter другая альтернатива для загрузки файлов, для которой требуется только chmod 755?

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

загрузка изображения codeigniter mysql

Несмотря на то, что я нашел статьи, в которых подробно описывается, как загрузить любой файл в базу данных для php в целом (например, ниже), ни одна из найденных мной не относится к интеграции CodeIgniter.

Артикул: http://www.phpriot.com/articles/storing-images-in-mysql

Вопрос 2)

Кто-нибудь знает какие-либо учебные пособия, специально предназначенные для Codeigniter для загрузки файлов в базу данных? Мне кажется, что это единственная альтернатива использованию файловой системы.

1 Ответ

5 голосов
/ 10 ноября 2011

Звучит так, как будто вам нужно сменить хост, если вы не можете изменить cmod на что-либо еще, кроме 755.

Кроме этого, загрузка файлов в CodeIgniter не требуется выполнять с помощью класса File Upload. Вы можете использовать свой собственный метод.

Метод управления

public function save_file()
{

    $file_data = file_get_contents($_FILES['user_file']['tmp_name']);
    $file_name = $_FILES['user_file']['name'];

    $this->database_file_model->insert($file_data, $file_name);
    redirect('file/uploaded');

}

Метод модели файла базы данных

public function insert($data, $name)
{
  $data['filedata'] = $data;
  $data['filename'] = $name;
  $this->db->insert('mytable', $data);

    // Produces: INSERT INTO mytable (filedata, filename) VALUES (blob, 'Filename')
}

В этих примерах нет подтверждения, но он должен дать вам основную идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...