Это мой код файлов uploadinfg в приложении 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
Как я могу это решить?
В сообщении об ошибке указано, что это проблема с разрешениями. Убедитесь, что у вас есть правильные разрешения, установленные в папке uploads. Из документации :
Вам понадобится папка назначения для загруженных изображений. Создайте папку в корне вашей установки CodeIgniter с именем uploads и установите права доступа к файлу 777.
Эта ошибка возникает по двум причинам.
Если вы находитесь в 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 ->
-заявление
-системы
-гид пользователя
-index.php
-picture_folder
$target_directory="picture_folder/sub_folder";
Если UBUNTU OS, затем перейдите в ту папку, в которую вы загружаете / сохраняете «Загруженные файлы», щелкните правой кнопкой мыши по этой папке -> Свойства -> Разрешения Затем измените все «Доступ» для создания и удаления файлов.
Если это также не происходит, перейдите в его родительскую папку и выполните тот же шаг. Я уверен, вы не получите эту проблему. Потому что, сейчас, я получил эту ошибку. и, я решил, как этот путь только.