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

Загрузка файла в Codeigniter

3 голосов
/ 30 ноября 2011

Это мой код загрузки файлов в приложении codeigniter

function upload_logo(){
    $ex=$_FILES['uploadfile']['name'];
    $epld=explode('.',$ex);
    $filename=date("mdyHis").".".$epld[1];
    $userfile_size=$_FILES['uploadfile']['size'];
    $imggtype=$_FILES['uploadfile']['type'];
    if(move_uploaded_file($_FILES['uploadfile']['tmp_name'],"./uploads/".$filename))
        {   
            echo $filename;
        }
    }

Здесь uploadfile - это имя поля файла. И у меня есть папка с именем загрузки в корневой папке. Когда я загружаю файл, яесть ошибки. Это работает на нашем сервере, но не работает на сервере клиента.

A PHP Error was encountered

Severity: Warning

Message: move_uploaded_file(./uploads/112911224341.docx) [function.move-uploaded-file]: failed to open stream: Permission denied

Filename: controllers/pms.php

Line Number: 156
A PHP Error was encountered

Severity: Warning

Message: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpvhzCkw' to './uploads/112911224341.docx'

Filename: controllers/pms.php

Line Number: 156

Как я могу решить эту проблему?

Ответы [ 3 ]

1 голос
/ 30 ноября 2011

В сообщении об ошибке указывается, что это проблема с разрешениями.Убедитесь, что у вас есть правильные разрешения, установленные в папке загрузки. Из документации :

Вам понадобится папка назначения для загруженных изображений.Создайте папку в корне вашей установки CodeIgniter, которая называется uploads, и установите для нее права доступа 777.

0 голосов
/ 24 августа 2015

Если ОС UBUNTU, то перейдите в ту папку, в которую вы загружаете / сохраняете «Загруженные файлы», щелкните правой кнопкой мыши эту папку -> Свойства -> Разрешения, затем выберите «Все права доступа» для создания и удаления файлов.

Если также не происходит, перейдите в его родительскую папку и выполните тот же шаг.Я уверен, что вы не получите эту проблему.Потому что только сейчас я получил эту ошибку.и я решил только так.

0 голосов
/ 08 августа 2015

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

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

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

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

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

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

$ sudo chmod -R 777 picture_folder/

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

$ man chmod  OR man chown

Путь к папке.

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

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

-приложение

-система

-user_guide

-index.php

-picture_folder

  $target_directory="picture_folder/sub_folder";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...