Bestand downloaden van database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Daan B

Daan B

12/03/2013 17:08:37
Quote Anchor link
Hallo PHPHulp,

Ik zit met een probleem wat lokaal wel goed gaat en helaas online niet, het downloaden van een bestand het uploaden gaat prima. Zal eerst de tabel structuur even laten zien:
------------------------------------------------------------------
TABEL UPLOAD:
NAME: TYPE: NULL Extra
U_ID int(8) No AUTO_INCREMENT
name varchar(255) No -
size int(8) No -
type int(255) No -
content blob No -
-------------------------------------------------------------------
De script voor het ophalen van de bijlage (voorbeeld.php):

<td>Bijlage:</td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$query
= "SELECT U_ID, name FROM upload WHERE U_ID = '$opvraag[U_ID]'";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{

echo "<td>Geen Bijlage</td>";
}

else
{
while(list($id, $name) = mysql_fetch_array($result))
{

echo '<td><a href="download.php?id='.$opvraag['U_ID'].'">'.$name.'</a></td>';
}
}

?>


Hier het script download.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if(isset($_GET['id']))
{

$id    = $_GET['id'];
$query = "SELECT name, type, size, content " .
         "FROM upload WHERE U_ID = '$id'";
$result = mysql_query($query) or die('Fout, query mislukt');
list($name, $type, $size, $content) =  mysql_fetch_array($result);
header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$name");
echo $content;
exit;
}

?>


Wat het script bij voorbeeld.php doet als ik op de bijlage klik is het openen in download.php, in plaats van het bestand te downloaden. Lokaal kon je het bestand gewoon downloaden en opende hij de pagina download.php helemaal niet.

Groet,
Dean
 
PHP hulp

PHP hulp

22/12/2024 18:43:36
 
- SanThe -

- SanThe -

12/03/2013 17:13:59
Quote Anchor link
<a href="download.php?id=..

Lijkt mij logisch dat ie download.php opent.

Waarom trouwens een heel bestand in de database?
Tweede script is lek => sql-injection.
 
Daan B

Daan B

12/03/2013 17:16:46
Quote Anchor link
Klopt het script is nog niet af wou testen of hij online ging downloaden, het staat online in een test omgeving.
Waarom opent die lokaal niet download.php maar download hij het bestand ook?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.