Nieuw lid |
|
Ik heb een website gemaakt waarin mensen een word document kunnen uploaden via een formulier naar een database en wanneer nodig ook weer kunnen downloaden van de website.
Het downloaden gebeurt via een php script die ik bsc_downloadword.php heb genoemd en die ziet er als volgt uit:
<?php
$id=$_REQUEST['id'];
if(!is_numeric($id))
{
die("Invalid id specified: $id");
}
// Database connection variables
$dbServer = "...";
$dbDatabase = "...";
$dbUser = "...";
$dbPass = "...";
$sConn = mysql_connect($dbServer, $dbUser, $dbPass)
or die("Couldn't connect to database server");
$dConn = mysql_select_db($dbDatabase, $sConn)
or die("Couldn't connect to database $dbDatabase");
$dbQuery = "SELECT titel, source_type, source_file ";
$dbQuery .= "FROM bsc_eindwerken ";
$dbQuery .= "WHERE id = $id";
$result = mysql_query($dbQuery) or die("Couldn't get file list");
if(mysql_num_rows($result) == 1)
{
$fileName = @mysql_result($result, 0, "titel");
$fileName .= ".doc";
$fileType = @mysql_result($result, 0, "source_type");
$fileContent = @mysql_result($result, 0, "source_file");
header("Content-type: $fileType");
header("Content-Disposition: attachment; filename=$fileName");
echo $fileContent;
}
else
{
echo "Record doesn't exist.";
}
?>
<?php $id=$_REQUEST['id']; { die("Invalid id specified: $id"); } // Database connection variables $dbServer = "..."; $dbDatabase = "..."; $dbUser = "..."; $dbPass = "..."; or die("Couldn't connect to database server"); or die("Couldn't connect to database $dbDatabase"); $dbQuery = "SELECT titel, source_type, source_file "; $dbQuery .= "FROM bsc_eindwerken "; $dbQuery .= "WHERE id = $id"; { $fileName .= ".doc"; header("Content-type: $fileType"); header("Content-Disposition: attachment; filename=$fileName"); } else { echo "Record doesn't exist."; } ?>
Voorheen als je een word-bestand wilde downloaden werdt het word document 'bsc_downloadword.php.doc' genoemd. Dit was niet wenselijk want ik wil dat mensen de orginele naam van het document zien als ze het downloaden. Toen heb ik er de volgende regels aan de script toegevoegd:
$fileName = @mysql_result($result, 0, "titel");
$fileName .= ".doc";
header("Content-Disposition: attachment; filename=$fileName");
$fileName .= ".doc"; header("Content-Disposition: attachment; filename=$fileName");
Bij het downloaden van een word-bestand wordt nu alleen het eerste woord van de orginele titel weergegeven. Dus als de titel is 'Dit is de titel.doc' wordt er alleen 'Dit.doc' weergegeven. Weet iemand hoe ik de code kan uitbreiden zodat de gehele orginele titel wordt weergegeven?
|