以下代码列出了本地计算机中某个文件夹中包含的所有文件,因为您可以看到我正确地使用href属性回显标记内的文件路径。
所以问题是,当我点击标签时,它不会带我到文件下载,除非我复制链接并将其粘贴到浏览器的另一个选项卡,为什么会发生这种情况?我该如何解决?
<h5>Attached Files</h5>
<?php
$date = $dateCreated->format('d-m-Y');
$thepath = public_path().'/uploads/binnacle/'.$date.'/'.$activity->activity_id;
$handle = opendir($thepath);
$x = 1;
while(($file = readdir($handle))!= FALSE) {
if($file != "." && $file != ".." && $file != "thumbs" && $file != "thumbs.db") {
echo $x.".- "."<a href='$thepath/$file' target='_blank'>$file</a><br>";
$x++;
}
}
closedir($handle);
?>
注意:所有文件类型都会出现这种情况,包括图像,Excel文件,文本文档等。
@WreWolf解决方案 - 阿尔法:
<?php
$date = $dateCreated->format('d-m-Y');
$thepath = "/uploads/binnacle/".$date."/".$activity->activity_id;
$handle = opendir(public_path().$thepath);
$x = 1;
while(($file = readdir($handle))!= FALSE) {
if($file != "." && $file != ".." && $file != "thumbs" && $file != "thumbs.db")
{
echo $x.'.- '.'<a href="'.asset($thepath.'/'.$file).'" target="_blank">'.$file.'</a><br>';
$x++;
}
}
closedir($handle);
?>
答案 0 :(得分:0)
进行一些更改:
// Remove the public_path()
$thepath = 'uploads/binnacle/'.$date.'/'.$activity->activity_id;
然后在链接中:
"<a href='" . asset($thepath/$file) . "' target='_blank'>$file</a><br>";
注意:Laravel
有一个File
组件,您可以使用它,检查in the source。