我已经找到了这个问题的几个答案,但每个案例都与我的不同。在我花费数小时实施我认为可行的方法之前,我想得到一两个意见。谁知道,可能有一个更容易的解决方案,也会使其他人受益!
我正在创建一个提供照片修改服务的网站。我的每个客户都会使用我在Github上找到的jQuery / PHP上传脚本的修改版本上传他们的照片(BlueImp's File Upload脚本 - 道具BlueImp!)当每张图片上传完成后,会显示图像的缩略图在图像的文件名旁边。
上传页面根据订单号创建文件夹,并创建存储图像的缩略图子文件夹。例如,对于订单#12345:
/ uploads / 12345< - 上传图片的文件夹
/ uploads / 12345 / thumbs< - 将从
提供缩略图的文件夹客户端不要访问其他客户的照片非常重要。我将uploads文件夹移到我的网站根目录之外,但是当图像完成上传时,缩略图没有显示,因为它们不在网站根目录中,因此链接无效。
这是我想到的解决方案:
分隔文件夹。将主上载文件夹移动到文档根目录之外,但将缩略图文件夹保留在doc根目录中,以便在每次上载完成时提供缩略图。当用户完成上传图像后,删除与该订单#对应的缩略图文件夹。
有更好的方法吗?我担心的是阻止访问照片(客户端只需要上传一次,然后等待我们完成修改。他们不必重新登录下载它们。)我不希望有人能够通过地址栏或其他任何地方访问上传文件夹。我可以使用.htaccess文件来限制访问,但仍允许通过上传脚本链接到缩略图图像吗?
我为这个罗嗦的问题道歉。我试着像我有限的编程知识那样简洁。提前感谢您花时间和精力来帮助解决这个问题。
答案 0 :(得分:4)
双向
答案 1 :(得分:0)
您想向每位所有者客户展示拇指,而不是向其他客户展示? 知道订单号(是顺序),您可以轻松尝试一些链接并查看一些照片。
我建议使用.htaccess来密码上传文件夹,并为每个必须归属于订单号的拇指生成一个哈希值。
第二种解决方案:使用.htaccess上传文件夹的密码,并在生成订单确认页面时生成拇指而不保存拇指。 (如你所说,他必须只看一次)。
玩得开心!
答案 2 :(得分:0)
你应该做的两件事是:
禁用目录索引。
始终保持文件名随机。使用数据库映射它们。即file1.jpg-> file_af324234324324ff。您还可以将缩略图文件信息存储在同一个表中。