Ошибка Codeigniter - move_uploaded_file (?)

Эта проблема была задана раньше, но не решила мое дело. Я работаю с Codeigniter.

У меня есть простая форма, которая отправляет файл и хочет переместить этот файл в папку на моем сервере. После отправки я могу print_r массив $ _FILES ['new-item-file'], и все выглядит хорошо.

Но когда я использую move_uploaded_file, я получаю сообщение об ошибке:

не удалось открыть поток: HTTP-обертка не поддерживает записываемые соединения

Папка, которую я хочу написать, существует и имеет 777 разрешений.

У кого-нибудь есть решение?

Большое спасибо!

2 ответа

Эта ошибка возникает по двум причинам.

  1. Разрешение папки и недопустимой группы и пользователя.
  2. Неправильный путь.

Разрешение и владелец папки:

Если вы находитесь в Linux. Откройте терминал, введите эту команду. Это изменит владельца папки.

$ cd project_path && sudo chown -R www-data:www-data picture_folder/

Введите эту команду, чтобы изменить разрешение папки.

$ sudo chmod -R 777 picture_folder/

note Примечание. Используйте команду man для получения дополнительной информации об этих командах.

$ man chmod OR man chown

Путь к папке.

В кодеигнитре выполняется корневой файл index.php. Это отвечает за все виды деятельности. Поэтому не используйте base_url() для корневого пути. Вместо. Просто укажите имя корневой папки. как

Приложение CI ->

-application

-system

-user_guide

-index.php

-picture_folder

$target_directory="picture_folder/sub_folder";


Я решил это:

Move_uploaded_file, похоже, не принимает абсолютных путей. Я достал base_url(); и это сработало.

licensed under cc by-sa 3.0 with attribution.