<?php
foreach ($courserows AS $courserow) {
echo " <tr>";
echo '<td>' . $courserow['Name'] . '</td>';
echo '<td>' . $courserow['Description'] . '</td>';
?>
<td>
<a href='level-details.php?LId=<?php echo $onecourse['levelid'];?> &download' class='btn btn-success'>
تحميل <i class="fa fa-download" aria-hidden="true"></i>
</a>
</td>
<?php
echo "</tr>";
// download file
if (isset($_GET['download'])) {
$file = 'material/' . $courserow['file'];
echo $file;
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
}
}
?>
0
A
Antwort
1
Sie müssen Datei Download-Code in seoate Datei schreiben. Aber wie pro Ihren Code müssen Sie den Dateinamen in Anker-Tag übergeben und erhalten sie $ _GET
<?php foreach ($courserows AS $courserow){
echo " <tr>";
echo '<td>'.$courserow['Name'].'</td>';
echo '<td>'.$courserow['Description'].'</td>';
?>
<td>
<a href='level-details.php?file=<?php echo $onecourse['file'];?>&download' class='btn btn-success'>تحميل <i class="fa fa-download" aria-hidden="true"></i></a>
</td>
<?php
echo "</tr>";
// download file
if (isset($_GET['download'])) {
$file = 'material/' . $_GET['file'];
echo $file;
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
}
EDIT auch seine bessere Verwendung der Datei-Download-Code außerhalb foreach-Schleife zu schreiben.
// download file
if (isset($_GET['download'])) {
$file = 'material/' . $_GET['file'];
echo $file;
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
}
foreach ($courserows AS $courserow){
echo " <tr>";
echo '<td>'.$courserow['Name'].'</td>';
echo '<td>'.$courserow['Description'].'</td>';
?>
<td>
<a href='level-details.php?file=<?php echo $onecourse['file'];?>&download' class='btn btn-success'>تحميل <i class="fa fa-download" aria-hidden="true"></i></a>
</td>
<?php
echo "</tr>";
0
Der Code, der die Datei tatsächlich als Download ausgibt, befindet sich in der foreach-Schleife. Wenn die Prüfung if (isset($_GET['download']))
bestanden wird, wird dies bei der ersten Iteration der Fall sein und die Datei in dieser Iteration ausgeben. Eine Möglichkeit, dies zu beheben, besteht darin, die Prüfung auf etwas zu erweitern:
if (isset($_GET['download']) && $_GET['download'] == $courserow['file'])
Verwandte Themen
- 1. PHP-Download-Datei?
- 2. Öffnen Sie die gleiche PHP-Website zweimal
- 3. Firebase gleiche Datei verschiedene Download-URLs
- 4. PHP Datei Download Pfad zu lang
- 5. Laden Sie die Datei, anzeigen und überschreiben die gleiche Datei von der gleichen Seite in php
- 6. behalten Sie die gleiche Faktorisierung zwischen zwei Daten
- 7. Wie Sie die gleiche Überschrift für mehrere Websites behalten
- 8. Zentrum Bild und behalten die gleiche Höhe
- 9. PHP Download-Datei von Link, der Datei
- 10. Download große Datei mit PHP
- 11. Force-Download, von PHP-Datei
- 12. Wert an die gleiche PHP-Datei übergeben
- 13. So blockieren Sie die direkte Download-Datei
- 14. PHP-Datei-Upload Änderung Dateiname behalten Erweiterung
- 15. Android-Download-Datei von PHP-Server
- 16. PHP Download-Datei vom Server aus POST
- 17. Ajax Datei Download mit Jquery, PHP
- 18. PHP: Erzwinge PDF - Datei zum Download
- 19. xlsx Datei ist beim Download in PHP
- 20. Refreshing Page With PHP
- 21. PHP Header() Funktionsproblem über Download-Datei
- 22. Datei-Download mit PHP enthalten null Werte
- 23. PHP Force Download beschädigte PDF-Datei
- 24. Verhindern Auto Download PDF-Datei mit PHP
- 25. PHP: Öffnen Sie eine Datei auf dem Server zum Download?
- 26. PHP- Force Download-Datei von URL
- 27. So speichern Sie Download-Datei an bestimmten Ort mit PHP
- 28. Facebook Page Insights PHP
- 29. (Windows) Öffnen Sie die gleiche Datei gleichzeitig
- 30. Benennen Sie eine hochgeladene Datei mit PHP um, behalten Sie die Erweiterung