2014-09-20 79 views
0

我希望用户能够一次上传多个图像。在数据库中插入多个图像链接(Laravel)

然后图像将被调整大小并存储在文件系统中,并且图像的链接将被存储在数据库(MySQL)中。

我可能取得这样的图片:

Route::post('upload', function(){ 

    $files = Input::file('files'); 

    foreach($files as $file) { 

     $file->move('uploads/'); 
    } 
}); 

然后我得到的链接,并将其存储在数组中。

将这些链接存储在数据库中的最佳方式是什么?

+3

似乎很明显,体面的方式是创建一个'图像'(或类似的)表,并使用'用户'表使它成为'一对多',还是我错过了什么? – rmobis 2014-09-20 00:14:50

回答

0

我正在研究一个项目,需要上传图片并将其调整大小/裁剪为各种尺寸。我发现的最好方法是拍摄上传的图像并使用Image manipulation library package in laravel来调整它的大小。您可以轻松地操作图像,而无需直接处理PHP图形库。然后,我将当前时间戳和用户的用户标识一起散列,以获取文件系统的唯一名称。之后,我将所有调整大小的原始图像以唯一的名称存储在文件系统中,但在文件前面添加了small_,big_和orig_。我只在数据库中存储唯一名称散列。每次我必须访问我想要的图像时,我都会将它们从系统中取出。