我试图在网页中显示一些文件以便用户可以下载它,我正确显示文件但链接href不起作用,而不是下载文件,浏览器尝试在浏览器中显示文件发送:
未找到
在此服务器上找不到请求的网址/public_html/Factura.pdf。
此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。
$connect = ftp_connect("xxx.org");
$result = ftp_login($connect, "xxx", "xxx");
$a = ftp_nlist($connect, "./public_html/");
foreach($a as $value){
echo '<a href="'.$value.'">'.basename($value).'</a> <BR>';
}
我怎么能做到这一点? 谢谢!
答案 0 :(得分:0)
在ftp之外无法查看public_html /目录,这是您的根文件夹。您需要使用与basename()
显示文件名时相同的方式将其从链接中删除。
echo '<a href="'.basename($value).'">'.basename($value).'</a> <BR>';
答案 1 :(得分:0)
您可以在路径上使用basename()功能,这将为您提供文件名:
foreach($a as $value){
echo '<a href="'.basename($value).'">'.basename($value).'</a> <BR>';
}
修改强> 如果这些文件是本地文件,那么只需要glob()或opendir()目录即可,我假设您的目标是在远程服务器上使用此脚本,因此我还建议您将该网址包含在托管中服务器
$server="xxx.org";
$connect = ftp_connect($server);
$result = ftp_login($connect, "xxx", "xxx");
$a = ftp_nlist($connect, "./public_html/");
foreach($a as $value){
echo '<a href="http://'.$server.'/'.basename($value).'">'.basename($value).'</a> <BR>';
}