تالار گفتمان nCIS.ir

نسخه‌ی کامل: مشکل در آپلود فایل (حل شد)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام 
من یک مشکل توی آپلود فایل دارم...
این کدهایی که توی رول استفاده کردم:
use yiiwebUploadedFile;

public $pic;

[['pic'], 'file', 'skipOnEmpty' => true,'extensions'=>'png,jpg,jpeg'],


public function upload()
{
     $this->pic->saveAs(yii::getAlias('@product_upload').'/'.$this->pic->baseName.'.'.$this->pic->extension);
}
و alias هم به صورت زیر تعریف کردم :
'@product_upload'=>'uploads/products/',

اینم کد های فرم :
<?= $form->field($model, 'pic')->fileInput() ?>
و فرم رو هم به صورت 
'enctype'=>'multipart/form-data'
تنظیم کردم....

اینم کد های کنترلر:
use yiiwebUploadedFile;
کد های توی اکشن create
if ($model->load(Yii::$app->request->post())) 
{
   $model->pic=UploadedFile::getInstance($model,'pic');
   if($model->save())
   {
      $model->upload();
      return $this->redirect(['view', 'id' => $model->id]);
   }
}
که وقتی فایلی رو برای آپلود انتخاب می کنم ..خطای زیر رو می ده:
نقل قول:
move_uploaded_file(uploads/products/DSC_0410.jpg): failed to open stream: No such file or directory
اول خطا می داد که یک قابلیت فعال نیست که فعالش کردم الان این خطا رو می ده چیکار کنم؟؟ آدرس فایل هم که پوشه رو دادم وجود داره...
کد رو اینطوری تکه تکه گذاشتین یه مقدار ناخوانا شده ولی چک کنید پوشه آپلود مجوز نوشتن داره یا نه.
اینو تست کنید:
'@product_upload' => (new yiiwebRequest)->baseUrl . '/uploads/products/',
خیلی ممنون که کمکم کردین... این خیلی برام ارزش داشت...
مشکلم این بود که ساختار پروژه بگونه ای بود که می رفت توی بک اندم رو چک می کرد واسه پوشه آپلود که با یک تغییر جزئی
'@product_upload'=>'../uploads/products',
به جای
'@product_upload'=>'uploads/products',
حل شد...