Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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 保护文件并显示它们_Php_Html_Image_Security_Ftp - Fatal编程技术网

Php 保护文件并显示它们

Php 保护文件并显示它们,php,html,image,security,ftp,Php,Html,Image,Security,Ftp,我的问题是关于HTML和PHP的 这是我现在的设置: 用户拥有帐户的网站 带有图片的FTP服务器(当前无) 文件当前保存在网站的“图片”文件夹中(知道完整URL的每个人都可以访问该文件夹) 因此,我想知道如何在不将图像存储在网站上的情况下显示这些图像(这将解决我的URL问题)。 我的想法是在FTP服务器上移动文件,当用户登录并请求包含这些图像的页面时,通过FTP连接下载它们,将它们保存在网站上,显示图像,然后删除它们。这将使它们只能在下载时间之间访问。但这种解决方案听起来真的很糟糕。您需要始

我的问题是关于HTML和PHP的

这是我现在的设置:

  • 用户拥有帐户的网站
  • 带有图片的FTP服务器(当前无)
  • 文件当前保存在网站的“图片”文件夹中(知道完整URL的每个人都可以访问该文件夹)
因此,我想知道如何在不将图像存储在网站上的情况下显示这些图像(这将解决我的URL问题)。
我的想法是在FTP服务器上移动文件,当用户登录并请求包含这些图像的页面时,通过FTP连接下载它们,将它们保存在网站上,显示图像,然后删除它们。这将使它们只能在下载时间之间访问。但这种解决方案听起来真的很糟糕。

您需要始终有一个存储图像的地方。但是,如果您不想让用户知道存储在哪里,您可以创建一个用于显示图像的系统

想想看,如果你想从Mega下载一个文件,你不能访问存储文件的URL,相反,服务器本身调用一个系统,为你分配一个“密钥”,你只能使用你的“密钥”通过该系统下载文件

您可以使用像“base64”这样的系统来编码图像,并使用它来显示图像,或者,您可以使用“header”修饰符来使用PHP代码显示图像

例如,您的图像标签如下所示:

<img src="processImage.php?id=01&user=10&key=123" />

因此,processImage将返回一个“棘手的”图像,实际上不是图像,但是PHP处理的代码将被返回,就像使用标题为“Content Type:image/jpeg”的“imagejpg()”函数一样,然后用户将不知道图像实际存储在哪里,但img将实际工作