Het uploadscript
Open het eerder opgeslagen bestand van het uploadformulier en voeg bovenaan deze code toe:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
if(!empty($_FILES))
{
$filename = $_FILES['input']['name'];
$filetype = $_FILES['input']['type'];
$filesize = $_FILES['input']['size'];
$tmpname = $_FILES['input']['tmp_name'];
$content = file_get_contents($tmpname);
$fp = fopen($tmpname,'r');
$content = fread($fp,$filesize);
$content = addslashes($content);
include("mijn_sql_connectie.php");
$query="INSERT INTO FILES (FILENAME,FILETYPE,FILESIZE,CONTENT,DATUM) VALUES ('".$filename."','".$filetype."','".$filesize."','".$content."',NOW());";
mysql_query($query) or die(mysql_error());
echo("<table>\n");
echo("<tr>\n");
echo("\t<td>Bestandsnaam</td><td>".$filename."</td>\n");
echo("</tr>\n");
echo("<tr>\n");
echo("\t<td>Type</td><td>".$filetype."</td>\n");
echo("</tr>\n");
echo("<tr>\n");
echo("\t<td>Grootte</td><td>".$filesize."</td>\n");
echo("</tr>\n");
mysql_close();
}
?>
if(!empty($_FILES))
{
$filename = $_FILES['input']['name'];
$filetype = $_FILES['input']['type'];
$filesize = $_FILES['input']['size'];
$tmpname = $_FILES['input']['tmp_name'];
$content = file_get_contents($tmpname);
$fp = fopen($tmpname,'r');
$content = fread($fp,$filesize);
$content = addslashes($content);
include("mijn_sql_connectie.php");
$query="INSERT INTO FILES (FILENAME,FILETYPE,FILESIZE,CONTENT,DATUM) VALUES ('".$filename."','".$filetype."','".$filesize."','".$content."',NOW());";
mysql_query($query) or die(mysql_error());
echo("<table>\n");
echo("<tr>\n");
echo("\t<td>Bestandsnaam</td><td>".$filename."</td>\n");
echo("</tr>\n");
echo("<tr>\n");
echo("\t<td>Type</td><td>".$filetype."</td>\n");
echo("</tr>\n");
echo("<tr>\n");
echo("\t<td>Grootte</td><td>".$filesize."</td>\n");
echo("</tr>\n");
mysql_close();
}
?>
Eerst controleert de server of er een bestand is geupload (alle gegevens die via een file veld zijn verzonden zijn toegankelijk via de array $_FILES). We laden de eigenschappen van het bestand in lokale variabelen, waarna we de inhoud van het bestand laden door de tijdelijke locatie aan te roepen van het bestand. Ve voegen vervolgens slashes aan de inhoud toe om te voorkomen dat de informatie in een later stadium verkeerd wordt verwerkt. Vervolgens bouwen we de query op die ervoor zorgt dat de gegevens in de database terecht komen. Voor de beginners onder ons: Wees jezelf ervan bewust dat we FILE_ID niet hebben gespecificeerd in de INSERT query, omdat dit nummer automatisch door de database wordt toegewezen.
Waarschuwing: Het MIME-type van het bestand wordt door de browser toegekend. Omdat iedere browser daar een andere methode voor heeft, kun je het beste server-sided een MIME-type toekennen. Hiertoe heb ik een functie geschreven die je in staat stelt om het MIME-type van het bestand te verifiëren, waarna het script alle niet-gespecificeerde MIME-typen weigert. Zie http://www.phphulp.nl/php/scripts/1/740/
« vorige pagina | volgende pagina »
Inhoudsopgave
- Voorbereidingen
- Het downloadscript
- Het uploadformulier opbouwen
- Einde
- Het uploadscript
- De downloads-pagina