Не создается директория при загрузке файла на сервер

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
Alximicus
Сообщения: 3
Зарегистрирован: 2014.10.15, 23:16
Откуда: Украина

Не создается директория при загрузке файла на сервер

Сообщение Alximicus »

Всем доброго времени суток
Я новичок в Yii.
Создал самую примитивную загрузку изображения на сервер по примеру из документации

Код контроллера

Код: Выделить всё

public function actionCreate() {
        $model = new User;

        if (isset($_POST['User'])) {
            $model->attributes = $_POST['User'];
            $model->image = CUploadedFile::getInstance($model, 'image');

            CVarDumper::dump($model->image);
            if ($model->save()) {
                $model->image->saveAs('./upload/user/' . Yii::app()->user->id . '/' . $model->image);
            }
        }
        $this->render('create', array('formUpload' => $model));
    }
Дело в том, что я хочу, чтобы фотографии загружались по пути типа "/upload/user/id_user/" , где вместо id_user подставлялся бы айди пользователя. Собственно это я и написал, но не могу вообще понять почему на сервере автоматически не создается директория с айдишником. Если руками создать - файлы будут загружаться, а сама папка не создается. Как то победить?
Права 777 стоят на аплоад и все что внутри.
Буду благодарен
masson
Сообщения: 545
Зарегистрирован: 2012.07.03, 15:59

Re: Не создается директория при загрузке файла на сервер

Сообщение masson »

Ну а проверить есть каталог или нет и создать если нет, религия не позволяет?

image->saveAs вызывает move_uploaded_file(). А тут - http://php.ru/manual/function.move-uploaded-file.html
не сказано что эта ф-ция должна создавать каталог
Аватара пользователя
Alximicus
Сообщения: 3
Зарегистрирован: 2014.10.15, 23:16
Откуда: Украина

Re: Не создается директория при загрузке файла на сервер

Сообщение Alximicus »

Мне стоит проверить существование каталога и если его нет - создавать?
Ну.. Это как то грубо наверное, наверняка в Yii есть что то для упрощения этого процесса
Аватара пользователя
iAchilles
Сообщения: 41
Зарегистрирован: 2014.09.11, 19:44

Re: Не создается директория при загрузке файла на сервер

Сообщение iAchilles »

Alximicus, привет!
Создавать директорию, если ее нет. http://php.net/manual/ru/function.mkdir.php
В yii есть CFileHelper, но в данном случае он вам не поможет. Ничего грубого в этом нет :)
Аватара пользователя
Alximicus
Сообщения: 3
Зарегистрирован: 2014.10.15, 23:16
Откуда: Украина

Re: Не создается директория при загрузке файла на сервер

Сообщение Alximicus »

Спасибо большое
Ответить