从一个项目到为大量文件组织静态存储时遇到困难。对于图像,创建一个表 Image 并在其上计算存储路径的记录。像这样:
代码:
$ image_id = 1665765;
$ paddedId = str_pad ($ image_id, 20, '0 ', STR_PAD_LEFT);
$ path = '/'. implode (DIRECTORY_SEPARATOR, str_split ($ paddedId, 2));
在输出:==> webroor.upload/00/00/00/00/00/00/01/66/57/65/1665765.jpg
$image_id 是需要图片的实体表中的一个字段($user->image_id)。这种方法允许在一个$image_id 的基础上指定图像的完整路径,而不必调用base。当我们清楚地知道文件的格式(在这种情况下,总是.jpg)时,它就可以工作。但有时用户需要下载不同格式的图像。而这种做法是不实用的,因为要制作精神,并用文件(Images)加入表格,通过id来文件并计算其扩展路径。由于表图像可能很大(甚至在单独的数据库中)会降低系统性能。请与我们分享您存储的食谱。也许有人知道如何做得更好。
对不起我的英语不好。