2013-02-16 27 views
0

我一直在寻找了几个小时。回答这个问题,虽然有数百它的帖子,我也没有特别找到答案我的问题外...链接到文件的Web根

我创建了一个网站,人们可以下载条形码包的zip文件。最初,我使用web根目录下的customers/codes文件夹创建了该网站。我创建的zip文件与此:

$_SERVER['DOCUMENT_ROOT'].'/speedy/customers/codes/' 

,输出'/var/www/html/speedy/customers/codes/'

完成网站我的客户已经决定,他不希望任何人,但在用户登录到能够访问他们的文件后。所以我认为用最少的主要系统更改最简单的方法是将客户/代码文件夹移动到Web根目录的外部。

所以我做在/ var /网络/客户/码

如何链接到这些文件的网站根目录外的文件吗?我尝试了几件事,没有任何工作。我试过这个......

'../../'.$_SERVER['DOCUMENT_ROOT'].'/customers/codes/'; 

......但它实际上回应出“../”。

这是我的代码生成压缩文件的一部分。我需要链接到/ var/www/customers/codes

system('/usr/bin/zip -j ' . $_SERVER['DOCUMENT_ROOT'].'/speedy/customers/codes/'.$order_id.'.zip ' . escapeshellarg($_SERVER['DOCUMENT_ROOT'].'/speedy/certificates/'.$order_id.'-certificate.pdf')); 
+0

你为什么不只是使用.htaccess保护目录密码? – 2013-02-16 19:50:27

回答

2

您可以按照文件系统上显示的那样编写路径。在你的情况下:

system('/usr/bin/zip -j ' . '/var/www/customers/codes/'.$order_id.'.zip ' . escapeshellarg($_SERVER['DOCUMENT_ROOT'].'/speedy/certificates/'.$order_id.'-certificate.pdf')); 
+0

好吧,几乎在那里,我唯一的问题是,我如何链接到客户端帐户的这个文件?我不能做href =“/ var/www/customers/codes/68454354.zip' – 2013-02-16 19:18:41

+0

你需要创建一个php脚本来检索文件的内容并输出它:href =”getCodeZip.php?code = 68454354“。 – dethtron5000 2013-02-16 19:24:38

+0

谢谢你把我放在正确的轨道上,我只是把客户/代码目录留在了webroot中,并用htaccess文件阻止了所有访问,然后我在脚本中加密了订单ID并将其发送给一个函数解密订单ID并为其提供文件。谢谢! – 2013-02-16 23:03:06