簡體   English   中英

Yii2控制台將文件寫入上載目錄

[英]Yii2 console writing files to the uploads directory

我正在使用帶有偽造者的yii2控制台,這就是我在遷移代碼中所擁有的

 public function safeUp()
{
    $faker = Faker\Factory::create();
    for( $i= 0; $i<20; $i++){
        $this->insert('tbl_user',array(
            'username' =>$faker->userName,
            'password_hash' => \Yii::$app->security->generatePasswordHash(5378),
            'email'=>$faker->email ,
            'status'=>10,
            'auth_key'=>Yii::$app->security->generateRandomString(),
            'created_at'=>$faker->unixTime($max = 'now'),
            'updated_at'=>$faker->unixTime($max = 'now'),
            'profile_pic'=>$faker->image(Yii::getAlias("uploads"), $width = 640, $height = 480, 'cats', false)

        ));
    }

}

問題出現在profile_pic部分中,並且總是引發錯誤

Cannot write to directory "uploads"

我已經對文件夾上傳添加了讀寫權限,但是仍然失敗

通過ls -ld uploads來檢查權限,它會返回

drwxrwxrwx 3   //shows the read write and even execute permissions are set

有什么事嗎

別名參數應帶有“ @”符號

如果您的上載目錄位於應用程序的基本路徑中,則代碼應如下所示:

...
    'profile_pic'=>$faker->image(Yii::getAlias('@web/path_to/uploads'), $width = 640, $height = 480, 'cats', false)
...

您應該將別名調整為上載目錄所在的位置。 在上面的示例中,“ @ web”是指當前正在運行的Web應用程序的基本URL。 以下是您可以使用的預定義別名的列表: http : //www.yiiframework.com/doc-2.0/guide-concept-aliases.html#predefined-aliases

以下是有關解析別名的更多信息: http : //www.yiiframework.com/doc-2.0/guide-concept-aliases.html#resolving-aliases

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM