#php #html #laravel #hyperlink #download
#php #HTML #laravel #гиперссылка #Скачать
Вопрос:
В следующем коде перечислены все файлы, содержащиеся в определенной папке на моем локальном компьютере, как вы можете видеть, я повторяю путь к файлу внутри тега, правильно используя атрибут 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 != "." amp;amp; $file != ".." amp;amp; $file != "thumbs" amp;amp; $file != "thumbs.db") {
echo $x.".- "."<a href='$thepath/$file' target='_blank'>$file</a><br>";
$x ;
}
}
closedir($handle);
?>
ПРИМЕЧАНИЕ: Это происходит со всеми типами файлов, включая изображения, файлы Excel, текстовые документы и т.д.
РЕШЕНИЕ ОТ @WereWolf — Альфа:
<?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 != "." amp;amp; $file != ".." amp;amp; $file != "thumbs" amp;amp; $file != "thumbs.db")
{
echo $x.'.- '.'<a href="'.asset($thepath.'/'.$file).'" target="_blank">'.$file.'</a><br>';
$x ;
}
}
closedir($handle);
?>
Комментарии:
1. Вы случайно используете Symfony или Laravel?
2. Куда это вас приведет вместо этого?
3. Кроме того, переменные не будут отображаться внутри одинарных кавычек
'$thepath/$file'
4. @Fred-ii- Я использую Laravel
5. @Fred-ii- Просто изменил его на это:
'<a href="'.$thepath.'/'.$file.'" target="_blank">'.$thepath.'/'.$file.'</a><br>'
и я получаю тот же результат
Ответ №1:
Внесите некоторые изменения:
// Remove the public_path()
$thepath = 'uploads/binnacle/'.$date.'/'.$activity->activity_id;
Затем в ссылке:
"<a href='" . asset($thepath/$file) . "' target='_blank'>$file</a><br>";
Примечание: Laravel
есть File
компонент, вы можете его использовать, проверьте его в исходном коде.
Комментарии:
1. Также
Laravel
естьFile
компонент, вы можете использовать его, проверьте его в исходном коде.