Ik wil een form maken waar je bestanden moet selecteren en dan kan je ze downloaden.

Het hoort bij een upload systeem, dus wil ik dat het lijstje automatisch word aangvuld met alle bestanden die in een bepaalde map op men webspace staan.

Kan iemand me helpen?

TY
Wel:

1: De bestanden van /Upload/files moeten er staan ipv /Upload

2: het downloaden gaat niet precies
Ja dat komt omdat er ook geen dingen instaan om de file te downloaden..
En hoe moet je dat dan doen?

Sry, ik ken weinig php :s
Probeer dit eens:

Edit nog ff wat veranderd hier:

<?
$dir = "./files/";
if(isset($_POST['downloaden']))
{
$bestand = $_POST['bestand'];
$bestand = str_replace ($dir, "", $bestand);
$bestand = str_replace (" ", "%20", $bestand);
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . $bestand);
readfile("".$dir."/".$bestand);
}
?>

<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<select name="bestand">

<?
$handle = opendir($dir);
while (false!==($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "<option value=\"".$dir."".$file."\" selected>".$file."</option> <br>";
}
}
closedir($handle);
?>

</select>
<input type="submit" id="verzenden" name="downloaden" value="Downloaden" />
</form>
We vorderen al :)

Het lijstje klopt, hij wil downloaden en dan komt er een fout.

http://www.warpoint.be/4ec/Upload/upload.php

je kan zelf kijken: probeer iets te downloaden
Ja ik heb het gzien, zet ob_start(); helemaal boven aan dus:

<?
ob_start();
$dir = "./files/";
Ipv te downloaden wordt het bestand in de browser geladen denk ik. Als je het .txt bestand neemt zie je de tekst verschijnen.
Mss even zien, dit heb ik:

<?
ob_start();
$dir = "./files/";
if(isset($_POST['downloaden']))
{
$bestand = $_POST['bestand'];
$bestand = str_replace ($dir, "", $bestand);
$bestand = str_replace (" ", "%20", $bestand);
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . $bestand);
readfile("".$dir."/".$bestand);
}
?>

<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<select name="bestand">

<?
$handle = opendir($dir);
while (false!==($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "<option value=\"".$dir."".$file."\" selected>".$file."</option> <br>";
}
}
closedir($handle);
?>

</select>
<input type="submit" id="verzenden" name="downloaden" value="Downloaden" />
</form>
Dit werkt gwoon bij mij hoor..
ik zal het even online testen maar @ localhost werkt het perfect..

<?
ob_start();
$dir = "./files/";
if(isset($_POST['downloaden']))
{
$bestand = $_POST['bestand'];
$bestand = str_replace ($dir, "", $bestand);
$bestand = str_replace (" ", "%20", $bestand);
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . $bestand);
readfile("".$dir."/".$bestand);
}
?>

<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<select name="bestand">

<?
$handle = opendir($dir);
while (false!==($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "<option value=\"".$dir."".$file."\" selected>".$file."</option> <br>";
}
}
closedir($handle);
ob_end_flush();
?>

</select>
<input type="submit" id="verzenden" name="downloaden" value="Downloaden" />
</form>

Reageren