Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.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 有人可以获得Apache'中所有文件的列表吗;没有FTP的www文件夹?_Php_Ftp - Fatal编程技术网

Php 有人可以获得Apache'中所有文件的列表吗;没有FTP的www文件夹?

Php 有人可以获得Apache'中所有文件的列表吗;没有FTP的www文件夹?,php,ftp,Php,Ftp,我有一个2.5GB的文件,我想让用户在购买后下载。我最初计划隐藏文件,然后使用readfile以.zip头转储文件内容,但我的GoDaddy服务器显然不允许我在这么大的文件上使用readfile,所以我坚持每小时更改一次这个重要文件的名称。但是,如果有人可以列出我的www文件夹中的所有文件,那么人们就可以不花钱就拿走它 有什么建议吗?只要您不允许对目录进行索引,他们就无法获得文件列表。为此,请在目录中创建.htaccess文件并添加: Options -Indexes 或者,如果文件夹有一个

我有一个2.5GB的文件,我想让用户在购买后下载。我最初计划隐藏文件,然后使用readfile以.zip头转储文件内容,但我的GoDaddy服务器显然不允许我在这么大的文件上使用readfile,所以我坚持每小时更改一次这个重要文件的名称。但是,如果有人可以列出我的www文件夹中的所有文件,那么人们就可以不花钱就拿走它


有什么建议吗?

只要您不允许对目录进行索引,他们就无法获得文件列表。为此,请在目录中创建.htaccess文件并添加:

Options -Indexes 

或者,如果文件夹有一个索引页,这也将防止服务器公开目录列表,而是提供索引页

如果您的主机容量超过5千兆,请使用php
exec
命令以其他名称复制您的文件

假设您在一个不可用的文件夹中保存了一个名称不可用的文件 因此,每当买家确认订单时,您就将该文件复制到一个具有用户生成名称的已知文件夹中,然后将链接传递给用户

如果您的主机是linux,则使用
cp
命令,如果是windows,则使用
copy

使用类似于
cp oldname.ext newname.ext
copy oldname.ext newname.ext

一段时间后,您将删除已知文件夹中的文件

如果此文件夹中有index.html文件,则他们不可能这样做。但是如果它只包含文件,那么你可以。索引不是解决方案,如果客户购买了一个产品并与其他人共享下载链接怎么办?那么下载地址将一直保持不变,其他人可以下载文件而不必购买它我还有什么选择?我的主机不允许我输出与文件大小一样大的文件。实际上,我有一个cronjob,它每小时更改一次重要文件的文件名。您是否看到主机允许您使用
exec
system
cmdshell
命令?我不确定。我应该如何准确地使用exec?您可以像
exec('command',$arr)那样使用它在命令部分编写“复制并重命名”命令,就像我在主答案中键入的一样检查以下链接: