$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
fclose($fp);
$insertSQL = "INSERT INTO DOCUMENT (DOCUMENT_ID, DOCUMENT_KDR, DOCUMENT_BESTANDSNAAM, DOCUMENT_TYPE, DOCUMENT_GROOTTE, DOCUMENT_BESTAND, DOCUMENT_DATUM) ".
"VALUES (DOCUMENT_SEQ.NEXTVAL, :kdr_id, :bestandsnaam, :bestandstype, :bestandsgrootte, :bestand, :datum_document)";
$stmt_insert = oci_parse ($con_oracle, $insertSQL);
oci_bind_by_name($stmt_insert, ':kdr_id', $_POST['kdr_id']);
oci_bind_by_name($stmt_insert, ':bestandsnaam', $_FILES['userfile']['name']);
oci_bind_by_name($stmt_insert, ':bestandstype', $_FILES['userfile']['type']);
oci_bind_by_name($stmt_insert, ':bestandsgrootte', $_FILES['userfile']['size']);
oci_bind_by_name($stmt_insert, ':bestand', $content);
oci_bind_by_name($stmt_insert, ':datum_document', $_POST['datum_document']);
oci_execute($stmt_insert);
Het tonen van de bestanden doe ik via de volgende code:
$document_id = $_GET['doc_id'];
$sql_overzicht = "SELECT DOCUMENT_BESTANDSNAAM, ";
$sql_overzicht .= " DOCUMENT_TYPE, ";
$sql_overzicht .= " DOCUMENT_GROOTTE, ";
$sql_overzicht .= " DOCUMENT_BESTAND ";
$sql_overzicht .= "FROM DOCUMENT ";
$sql_overzicht .= "WHERE DOCUMENT_ID = :document";
$stmt_overzicht = oci_parse ($con_oracle, $sql_overzicht);
oci_bind_by_name($stmt_overzicht, ':document', $document_id);
oci_execute ($stmt_overzicht);
while ($row = oci_fetch_array ($stmt_overzicht, OCI_ASSOC)) {
header("Content-length:".$row['DOCUMENT_GROOTTE']);
header("Content-type:".$row['DOCUMENT_TYPE']);
header("Content-Disposition: attachment; filename=\"".$row['DOCUMENT_BESTANDSNAAM']."\"");
echo($row['DOCUMENT_BESTAND']);
}
Bij het opvragen van de mail (msg) gaat het fout. ik krijg dan de volgende foutmelding:
'Cannot open file <bestandsnaam>. The file may not exist, you may not have permission to open it, or it may be open in another program. Right-click the folder that contains the file, and then click Properties to check your permissions for the folder.'
Het originele bestand en het gedownloade bestand hebben wel dezelfde grootte, maar ik kan de gedownloade mail niet meer lezen.
Heeft iemand een idee hoe dit op te lossen?