Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP Codeigniter中从根目录显示网页中的图像?_Php_Image_Codeigniter - Fatal编程技术网

如何在PHP Codeigniter中从根目录显示网页中的图像?

如何在PHP Codeigniter中从根目录显示网页中的图像?,php,image,codeigniter,Php,Image,Codeigniter,我用Codeigniter建立了一个网站,用户可以选择上传他们的照片。由于这些照片是个人的,我认为把它们保存在网络目录中是不安全的。因此,我将它们保存在根目录中,如/var/www/images目录。现在,我怎样才能在网页中获得图像呢?亲爱的学习者,选择错了。您的代码和浏览器需要能够访问“图像”文件夹,才能按图像路径渲染该图像。比如说 这是我的项目的映像目录。我在我的网站的不同页面上使用所有这些图片。有些是由我的代码动态选择的 现在,在您的案例中,通过将图像放入www文件夹,您正在创建一个任何

我用Codeigniter建立了一个网站,用户可以选择上传他们的照片。由于这些照片是个人的,我认为把它们保存在网络目录中是不安全的。因此,我将它们保存在根目录中,如
/var/www/images
目录。现在,我怎样才能在网页中获得图像呢?

亲爱的学习者,选择错了。您的代码和浏览器需要能够访问“图像”文件夹,才能按图像路径渲染该图像。比如说

这是我的项目的映像目录。我在我的网站的不同页面上使用所有这些图片。有些是由我的代码动态选择的

现在,在您的案例中,通过将图像放入www文件夹,您正在创建一个任何PHP指南都不推荐的路径。图像文件夹应位于项目根目录中,而不是外部


如果您想禁用要查看的文件夹,只需添加空的index.html文件,但是如果您试图保护图像不被查看,那么您的网站也将无法找到它们。代码将与您所做的一样安全。您现在所做的很好,web服务器仍然需要访问图像

在忽略代码的其余部分或您试图实现的目标的同时,您可以尝试从webroot引用图像,或者可能创建一个符号链接


另外,我会尝试将图像放在另一个地方,比如AWS

如果您担心安全问题,您可以尝试构建一个ImagesController,用于检查图像是否存在,用户是否有查看图像的权限,并在渲染后检查图像。 上载的图像还应该在数据库中的表中有一些参考行,该表可以有一个列来指定它是否应该是公共的(还可以尝试根据它所代表的内容将它们排序到文件夹中-用户配置文件图片、产品图像等)。 我知道这是一个小的工作,但这将是我会做的方式。 您可以在线查看返回图像的控制器示例


祝你的项目好运。

你面临的问题是什么?