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_Image_Upload_Directory - Fatal编程技术网

Php 服务器上上传图像的最佳位置是什么?

Php 服务器上上传图像的最佳位置是什么?,php,image,upload,directory,Php,Image,Upload,Directory,默认情况下,服务器上有许多可用文件夹,如“public_html”、“public_ftp”或根目录,其中哪一个是安全上传和存储用户图像的最佳文件夹?我还可以添加到mysql db的链接?如果您的客户端通过http表单上传图像,如果需要从web访问,请将其存储在公共html中。如果您的客户端通过http表单上传图像,如果需要从web访问,请将其存储在公共html中。文档根目录中的任何文件夹都可以。如果希望安全,请确保脚本只接受允许键入的文件,并将.htaccess文件放在该文件夹中: <F

默认情况下,服务器上有许多可用文件夹,如“public_html”、“public_ftp”或根目录,其中哪一个是安全上传和存储用户图像的最佳文件夹?我还可以添加到mysql db的链接?

如果您的客户端通过http表单上传图像,如果需要从web访问,请将其存储在公共html中。

如果您的客户端通过http表单上传图像,如果需要从web访问,请将其存储在公共html中。

文档根目录中的任何文件夹都可以。如果希望安全,请确保脚本只接受允许键入的文件,并将.htaccess文件放在该文件夹中:

<FilesMatch "*.php">
    SetHandler None
</FilesMatch>

SetHandler无

这将确保不会在此目录中执行任何get操作。

文档根目录中的任何文件夹都可以。如果希望安全,请确保脚本只接受允许键入的文件,并将.htaccess文件放在该文件夹中:

<FilesMatch "*.php">
    SetHandler None
</FilesMatch>

SetHandler无

这将确保不会在此目录中执行任何get操作。

我建议您将文件保存在“public\u html”中的某个位置,并创建以下文件以限制公共访问:

文件:upload/.htaccess

deny from all

在php脚本中,您只能将文件发送给具有访问权限的用户。

我建议您将文件保存在“public\u html”中的某个位置,并创建以下文件以限制公共访问:

文件:upload/.htaccess

deny from all

在您的php脚本中,您只能将文件发送给具有访问权限的用户。

在我看来,请将其存储在公共htdocs文件夹的外部。这就是说,如果有人试图上传图像文件以外的任何东西(比如一个邪恶的PHP脚本),他们将无法调用它(而且它也不会运行)

如果你是public_html文件夹,比如说
/path/to/website/public_html
,我会将它们存储在
/path/to/website/uploaded_images

此外,请确保您验证了它,以便它使用允许的图像名称的白名单(例如仅允许.jpg、.gif和.png)

编辑:
您还需要创建一个脚本,打开图像文件并将其传递回用户

在我看来,将其存储在公共htdocs文件夹的之外。这就是说,如果有人试图上传图像文件以外的任何东西(比如一个邪恶的PHP脚本),他们将无法调用它(而且它也不会运行)

如果你是public_html文件夹,比如说
/path/to/website/public_html
,我会将它们存储在
/path/to/website/uploaded_images

此外,请确保您验证了它,以便它使用允许的图像名称的白名单(例如仅允许.jpg、.gif和.png)

编辑: 您还需要创建一个脚本,打开图像文件并将其传回给用户

如果你想在网站上显示这些图像,那显然是
public\u html
中的一个文件夹,除非你想使用一个脚本将图像呈现给用户,可能会动态地改变图像,更改缓存头等。然后,您可以将该文件夹移动到docroot之外脚本可以访问这些文件的任何位置

就我个人而言,我将用户图像、文件和所有内容存储在docroot中,受
.htaccess
保护,并在必要时通过处理用户权限的脚本进行访问。这些文件位于
/uploaded
文件夹中,其子文件夹最多有两层,每个“层”最多可存储1024个目录/文件。文件仅由其ID命名,没有任何扩展名,所有文件信息都存储在数据库中。我花了一些时间来实现,但谢天谢地,这是一个可重用的代码。

安全定义

如果你想在网站上显示这些图像,那显然是
public\u html
中的一个文件夹,除非你想使用一个脚本将图像呈现给用户,可能会动态地改变图像,更改缓存头等。然后,您可以将该文件夹移动到docroot之外脚本可以访问这些文件的任何位置


就我个人而言,我将用户图像、文件和所有内容存储在docroot中,受
.htaccess
保护,并在必要时通过处理用户权限的脚本进行访问。这些文件位于
/uploaded
文件夹中,其子文件夹最多有两层,每个“层”最多可存储1024个目录/文件。文件仅由其ID命名,没有任何扩展名,所有文件信息都存储在数据库中。我花了一些时间来实现,但谢天谢地,这是一个可重用的代码。

上载的图像也将不可用。我忘记了创建一个脚本来传递图像,编辑了我的postShow,然后使用脚本显示图像。@Prikkeldraad为什么?Apache在提供图像方面比PHP好得多。上传的图像也将不可用。我忘了创建一个脚本来传递图像,编辑了我的postShow,然后使用脚本显示图像。@Prikkeldraad为什么?Apache在提供图像方面比PHP好得多。忘记询问存储限制了。如果我有无限的空间,它是为所有文件夹还是只为ftp?感谢您询问有关存储限制的问题。如果我有无限的空间,它是为所有文件夹还是只为ftp?谢谢