PDA

View Full Version : تغییر نام تصویر قبل از آپلود



mohsen6500
دوشنبه 26 آبان 1393, 00:43 صبح
سلام
برای آپلود عکس از این کداستفاده می کنم

$uploadedFile = CUploadedFile::getInstance($model,'s_logo'); $model->s_logo = ($uploadedFile."11"); $model->s_logo->saveAs(Yii::app()->basePath.'../../assets/sitelogo/'.$model->s_logo);
حالا میخوام قبل از آپلود توی پوشه مورد نظر و ثبت مشخصاتش توی دیتابیس اسمش رو تغییر بدم
خیلی گشتم ولی چیزی بهتر از این پیدا نکردم

$uploadedFile = CUploadedFile::getInstance($model,'s_logo'); $filename = pathinfo($uploadedFile, PATHINFO_FILENAME); $ext = pathinfo($uploadedFile, PATHINFO_EXTENSION); $newName = $model->s_user.'.'.$ext; $model->s_logo = $newName; $model->s_logo->saveAs(Yii::app()->basePath.'../../assets/sitelogo/'.$newName);
اما خطا میده

Fatal error: Call to a member function saveAs() on a non-object in C:\xampp\htdocs\sendsms\protected\controllers\Admi nController.php on line 396

کسی راهی رو میشناسه؟!

desatir7316
دوشنبه 26 آبان 1393, 09:11 صبح
yii2:

model:


...
...
public $file;
...
...


controller:


...
...
$model->file = UploadedFile::getInstance($model, 'file');
$model->pic_name = (string)time() . '.' . $model->file->extension;
$model->file->saveAs( '..\\..\\images\\' . $model->pic_name );
...
...


view:


...
...
<?= $form->field($model, 'file')->fileInput(); ?>
...
...

mohsen6500
سه شنبه 27 آبان 1393, 21:17 عصر
جواب نمیده داداش!

desatir7316
چهارشنبه 28 آبان 1393, 09:03 صبح
كدتو بذار
تست كردم بعد گذاشتم

MMSHFE
چهارشنبه 28 آبان 1393, 17:16 عصر
$uploadedFile->saveAs(...);

mohsen6500
جمعه 07 آذر 1393, 15:49 عصر
آقا من هنوز جوابمو نگرفتم ها!!
کسی نیست کمک کنه؟

MMSHFE
جمعه 07 آذر 1393, 16:02 عصر
مشکل چیه؟ شما گفتین خطا میگیرین من هم گفتم باید متد savevAs رو روی شئ کلاس CUploadedFile صدا بزنید نه روی فیلد file مدل.

arta.nasiri
جمعه 07 آذر 1393, 18:18 عصر
سلام

ببینید این کار میکنه




$uploadedFile = CUploadedFile::getInstance($model, 's_logo');
$model->s_logo = ($model->s_user .".". $uploadedFile->getExtensionName());
$uploadedFile->saveAs(Yii::app()->basePath . '../../assets/sitelogo/' . $model->s_logo);