我想创建一个照片共享php网站,我对你很陌生PHP我已经习惯了基于Java的服务器。
我想提供一个表单来上传图片。我希望能够上传数百个图像,因此最好将图像存储在本地文件夹中,并将指向该文件的指针存储在数据库中。原因是因为MySQL数据库有限但磁盘空间不是。
上传图片的人可以与其他某些用户分享这张照片,因此我会有一张桌子来维护图片的权限。
我不希望使用直接网址下载此照片 - 网址应该将图片的ID作为查询参数提供,服务器将使用该图片进行响应,但只有在该用户具有文件。我知道如何做到这一点,创建一个将读取文件并输出到响应的PHP。
如果我将照片存储在某处某个文件夹的磁盘内,如何确保使用/path/to/photo.png
这样的直接网址无法点击照片?
答案 0 :(得分:1)
你有两种不同的选择。
首先,假设您正在使用apache,请在文件夹上使用.htaccess文件使其受限制或修改httpd文件(如果可以)。
见:
特别是DENY命令:
http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#deny
无论哪种方式,php应该仍然能够访问图像,因为它是服务器端。
另一种选择是将文件存储在php服务器所在的文件夹之外(例如,在apache的htdocs之外)。您可以使用file://导航文件系统,直接放置目录(例如E:\ Images)或相对路径。 php不仅限于在互联网可访问的区域内保存文件。