yii2高级应用中保存图片
Save Images in advanced application of yii2
我在模型 members
中有一个名为 photo
的字段。我想访问 photo
从前端和后端。所以我在 backend\web\uploads
和 frontend\web\uploads
中创建了两个名为 images 的文件夹,我的想法是同时在后端和前端保存照片。
如果我必须在 frontend\backend 中保存图像,我会使用此代码
if($model->photo != null)
{
$model->photo->saveAs(\Yii::$app->basePath . '/web/uploads/photo/'.$model->id."_".$model->photo);
}
但我不能将此代码用于我的目的,因为我必须将它保存在前端和后端。我该怎么做?
理想情况下,您应该创建像 static.yourdomain.com
这样的静态子域,并将图像保存到仅 一个 位置。
在您的情况下,您应该将保存代码复制到前端和后端文件夹。
例如:
你可以在common文件夹里面有uploads文件夹。您的保存代码现在应该引用文件夹:
$model->photo->saveAs('@common/uploads/photo/'.$model->id."_".$model->photo);
然后您可以将基本图像 url 保存到应用程序的 param
配置中,并在您的视图中使用它。
您可以制作一个符号文件 links 这样您就不必在两个目录中都保存文件。
in linux 只是来自控制台的 运行 ln 命令,例如你有 backend\web\uploads 目录,然后将 frontend\web\uploads 作为后端目录的符号 link。
在 linux 只是 运行:
ln -s backend/web/uploads frontend/web/uploads
在 windows 中,打开命令提示符,转到您的 yii2 目录并 运行:
mklink /D frontend\web\uploads backend\web\uploads
注意 mklink 输入的顺序与 linux[= 中的 ln 命令相反12=]
我在模型 members
中有一个名为 photo
的字段。我想访问 photo
从前端和后端。所以我在 backend\web\uploads
和 frontend\web\uploads
中创建了两个名为 images 的文件夹,我的想法是同时在后端和前端保存照片。
如果我必须在 frontend\backend 中保存图像,我会使用此代码
if($model->photo != null)
{
$model->photo->saveAs(\Yii::$app->basePath . '/web/uploads/photo/'.$model->id."_".$model->photo);
}
但我不能将此代码用于我的目的,因为我必须将它保存在前端和后端。我该怎么做?
理想情况下,您应该创建像 static.yourdomain.com
这样的静态子域,并将图像保存到仅 一个 位置。
在您的情况下,您应该将保存代码复制到前端和后端文件夹。
例如:
你可以在common文件夹里面有uploads文件夹。您的保存代码现在应该引用文件夹:
$model->photo->saveAs('@common/uploads/photo/'.$model->id."_".$model->photo);
然后您可以将基本图像 url 保存到应用程序的 param
配置中,并在您的视图中使用它。
您可以制作一个符号文件 links 这样您就不必在两个目录中都保存文件。
in linux 只是来自控制台的 运行 ln 命令,例如你有 backend\web\uploads 目录,然后将 frontend\web\uploads 作为后端目录的符号 link。
在 linux 只是 运行:
ln -s backend/web/uploads frontend/web/uploads
在 windows 中,打开命令提示符,转到您的 yii2 目录并 运行:
mklink /D frontend\web\uploads backend\web\uploads
注意 mklink 输入的顺序与 linux[= 中的 ln 命令相反12=]