Hi all,
When uploading excel(.xls) files, the file type is saved in the database as text/plain type.
Why is this?
If I upload pdf/doc files the filetype is correctly stored as pdf/doc type.
Upload script...
// database details
include('db_connect.php');
/* Declare variables... */
// $fileName is original file name
$fileName = $_FILES['file']['name'];
// $tmpName is where file went on server
$tmpName = $_FILES['file']['tmp_name'];
// $fileSize is size in bytes
$fileSize = $_FILES['file']['size'];
// $fileType is mime type e.g. image/gif
$fileType = $_FILES['file']['type'];
// $fileError is any error encountered
$fileError = $_FILES['file']['error'];
/* End Declaring Variables */
// Error Checking
if ($fileError > 0)
{
echo 'Error: ';
switch ($fileError)
{
case 1: echo 'File exceeded upload_max_filesize';
break;
case 2: echo 'File exceeded max_file_size';
break;
case 3: echo 'File only partially uploaded';
break;
case 4: echo 'No file uploaded';
break;
}
exit;
}
// put the file into folder
$uploaddir = 'uploads/macros/';
$uploadfile = $uploaddir . basename($fileName);
if (move_uploaded_file($tmpName, $uploadfile))
{
// declare message array
$upload_message = array();
$upload_message['upload'] = '<p>File Successfully Uploaded!</p>';
// insert data into database
$query = "INSERT INTO macros(name, type, file_size, file_date) ".
"VALUES('$fileName', '$fileType', '$fileSize', {fn NOW()})";
$result = mssql_query($query) or die('Insert Query Error');
}
else
{
echo 'Error<br />';
print_r($_FILES['upload_macros']);
echo 'Debugging Info...<br /><br />';
print_r($_FILES);
}