I am having a very strange problem with downloading .PDF file stored as BLOBs on a MySQL database. The script I am developing is designed to handle the uploading, downloading, and searching of the .PDF files stored in the database. This script is part of a larger application and due to my Boss's orders I must keep all these functionality to one script. So I can't put the HTML, uploading script, and downloading script into separate files. Everything seems to working fine except that once I open file that is downloaded to my desktop it changes from MIME type application/pdf to text/html. Upon further investigation I have found that this is because HTML is being injected into the BLOB data. It is only the HTML that is generated before the downloading function of the script is run.

I have narrowed it down to the downloading portion of the script as being responsible for the added HTML. The file size in the database is identical to the original file and the downloaded file is larger. I am completely baffled by this issue and I would greatly appreciate any help.

Here is my code:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../psustyle.css" />
<link rel="stylesheet" type="text/css" href="../OMSstyle.css" />
<link rel="StyleSheet" href="/dTree/dtree.css" type="text/css" />
<?php include '/var/www/html/OMSinclude.php'; ?> 
<title>Operational Monitor and Statistics</title>
</head>
<body OnKeyPress="return disableKeyPress(event)">
<?php
include '/var/www/html/header.php';
?>

<?php 
if ($_SESSION['highestRole'] != 'Admin') exit; 

$dbh = new PDO('mysql:host='.$_SESSION['OpsDBServer'].'.ops.tns.its.psu.edu;dbname='.$_SESSION['OpsDB'], $_SESSION['yoM'], $_SESSION['aMa']);
echo "<form enctype='multipart/form-data' method='POST'>";
echo "<a href=\"upload.php\"> Upload: </a>";

$_SESSION['upload'] = 0;
$_SESSION['search'] = 0;

foreach($_REQUEST as $key => $value)
{
	if ($value == 'Download')
	{

	$id = $key;
	$sqlDownload = "SELECT name, type, content, size  FROM upload WHERE id='".$id."'";
	$result = $dbh->query($sqlDownload);

	$download = $result->fetchAll();

	$type = $download[0]['type'];
	$size = $download[0]['size'];
	$name = $download[0]['name'];
	$content = $download[0]['content'];


	header("Content-type: $type");
	header("Content-length: $size");
	header("Content-Disposition: attachment; filename=$name");

	echo $content;
}
if($value == 'Deactivate')
{
	$_SESSION['key'] = $key;
	$contents = $key;
	$first_token = strtok($contents, '_');
	$second_token = strtok('_');
	$third_token = strtok('_');
	$id = $first_token;
	$type = $second_token;
	$netKey = $third_token;
	$user = strtoupper($_SERVER['REMOTE_USER']);
	$sqlDeactivate = "UPDATE upload SET active = 0, modifiedBy = '$user', modifiedDate = Now() WHERE id = '".$id."' AND active ='1'";
	$dbh->query($sqlDeactivate);

	if ($_SESSION['searchTypeNullNull'])
	{
		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1'";
		$_SESSION['searchTypeNullNull'] = 0;
	}
	if ($_SESSION['searchTypeTypeNull'])
	{
		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE documentType = '".$type."' AND active = '1'";
		$_SESSION['searchTypeTypeNull'] = 0;		
	}
	if ($_SESSION['searchTypeNullNetKey'])
	{
		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE networkKey= '".$netKey."' AND active = '1'";
		$_SESSION['searchTypeNullNetKey'] = 0;
	}
	if ($_SESSION['searchTypeTypeNetKey'])
	{
		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE documentType = '".$type."' AND networkKey= '".$netKey."' AND active = '1'";
		$_SESSION['searchTypeTypeNetKey'] = 0;
	}
	if ($_SESSION['uploadSearch'])
	{
		"SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1'";
		$_SESSION['uploadSearch'] = 0;
	}
	$_SESSION['search'] = 1;
}
if ($key == 'upload')
{
	$_SESSION['upload'] = $value;

	if ($_FILES['userfile']['name'])
	{
		$fileName = $_FILES['userfile']['name'];
		$tmpName  = $_FILES['userfile']['tmp_name'];
		$fileSize = $_FILES['userfile']['size'];
		$fileType = $_FILES['userfile']['type'];
		$docType = $_POST['docType'];
		$netKey = $_POST['netKey'];
		$fp       = fopen($tmpName, 'r');
		$content  = fread($fp, filesize($tmpName));
		$content  = addslashes($content);
    	fclose($fp);

		if(!get_magic_quotes_gpc())
		{
			$fileName = addslashes($fileName);
		}

		$values = "'".$fileName."','".$docType."','".$fileType."','".$content."','".$fileSize."','".$netKey."','".strtoupper($_SERVER['REMOTE_USER'])."', Now(), 1";
		$sqlUpload = "INSERT INTO upload (name, documentType, type, content, size, networkKey, modifiedBy, modifiedDate, active) VALUES (".$values.")";
		$dbh->query($sqlUpload);

		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1'";
		$_SESSION['uploadSearch'] =	1;
	}
}
if ($key == 'search')
{
	$_SESSION['search'] = $value;

	if ($_POST['docType'] == 'null' && $_POST['netKey'] == 'null')
	{
		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1'";
		$_SESSION['searchTypeNullNull'] = 1;
	}
	if ($_POST['docType'] != 'null' && $_POST['netKey'] == 'null')
	{
		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1' AND documentType = '".$_POST['docType']."'";
		$_SESSION['searchTypeTypeNull'] = 1;
	}
	if ($_POST['docType'] == 'null' && $_POST['netKey'] != 'null')
	{
		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1' AND networkKey = '".$_POST['netKey']."'";
		$_SESSION['searchTypeNullNetKey'] = 1;
	}
	if ($_POST['docType'] != 'null' && $_POST['netKey'] != 'null')
	{
		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1' AND documentType = '".$_POST['docType']."' AND networkKey = '".$_POST['netKey']."'";
		$_SESSION['searchTypeTypeNetKey'] = 1;
	}
	echo "</table>";
}
}


if (!$_SESSION['upload'] && !$_SESSION['search'] && !$_SESSION['download'])
{
	echo "<table class='plainTable'>";						
	echo "<tr>";
	echo "<td>";
	echo "<input type='reset' value=' Clear From '>";
	echo "<input name='upload' type='submit' value='  Upload  '>";
	echo "<input name='search' type='submit' value=' Search '>";
	echo "</td>";
	echo "</tr>";
	echo "<tr>";
	echo "<td>";
	echo "Type: <select name='docType'>";
	echo "<option value='null'></option>";
	echo "<option value = 'SLA'>SLA</option>";
	echo "</select>";
	echo "&nbsp; Network Key:<select name='netKey'>";
	echo "<option value='null'></option>";
	$sql = "SELECT * FROM Strings Where active='1' ORDER BY networkKey";
	foreach ($dbh->query($sql) as $row)
		{	
		echo "<option value='".$row['networkKey']."'>".$row['networkKey']."</option>";
		}
	echo "</select>";
	echo "</td>";
	echo "</tr>";
	echo "<tr>";
	echo "<td>Choose a File to Upload";
	echo "<input type='hidden' name='MAX_FILE_SIZE' value='2000000'>";
	echo "<input name='userfile' type='file' id='userfile'>";
	echo "</td>";
	echo "</tr>";
	echo "</table>";

}

if ($_SESSION['upload'] || $_SESSION['search'] || $_SESSION['download'])
{
	echo "<table>";
	echo "<tr>";
	echo "<th></th>";
	echo "<th>ID</th>";
	echo "<th>Name</th>";
	echo "<th>Document Type</th>";
	echo "<th>File Type</th>";
	echo "<th>Size</th>";
	echo "<th>Network Key</th>";
	echo "<th>ModifiedBy</th>";
	echo "<th>ModifiedDate</th>";
	echo "<th>Active</th>";
	echo "<th></th>";
	echo "</tr>";


$sql = $_SESSION['sql'];
	foreach ($dbh->query($sql) as $row)
	{
		echo "<tr>";
		echo "<td><input name='".$row[id]."' type='submit' value='Download'></td>";
		echo "<td>$row[id]</a></td>";
		echo "<td>$row[name]</td>";
		echo "<td>$row[documentType]</td>";
		echo "<td>$row[type]</td>";
		echo "<td>$row[size]</td>";
		echo "<td>$row[networkKey]</td>";
		echo "<td>$row[modifiedBy]</td>";
		echo "<td>$row[modifiedDate]</td>";
		echo "<td>$row[active]</td>";
		echo "<td><input name='".$row[id]." ".$row[documentType]." ". $row[networkKey]."' type='submit' value='Deactivate'</td>";
		echo "</tr>";
	}
echo "</table>";

}


echo "</form>";


?>

<?php
include '/var/www/html/footer.php';
?>
</body>
</html>

Thank you again.

    Also I tried uploading and downloading a text file with the word "String" in it. Here is the downloaded copy opened in a text editor. I made bold the world String.

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" href="../../psustyle.css" />
    <link rel="stylesheet" type="text/css" href="../OMSstyle.css" />
    <link rel="StyleSheet" href="/dTree/dtree.css" type="text/css" />
    <script type="text/javascript" src="/dTree/dtree.js"></script><script type="text/javascript" src="/OMS.js"></script>
    <title>Operational Monitor and Statistics</title>
    </head>
    <body OnKeyPress="return disableKeyPress(event)">
    <div id="appContainer"><div id="header">&nbsp;<img src='/psu_logo3.gif'>&nbsp <b>TNS Operational Monitor and Statistics</b> - please enable pop-ups and JavaScript<noscript><font color=red><b>Javascript: Disabled. Javascript required. Please consult your browser settings and enable JavaScript.</b></font></noscript></span>;&nbsp;<span class='OpsContainer1dev'>DB=Development</span>;&nbsp;<button class='smallButton' onClick="(window.open('/authorHelp.php?&filename=upload'))">Edit Help</button></div><div id="columnLeft"><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a><script type="text/javascript" src="/menus.php?role=Admin"></script></div><div id="columnMain" style='font-size: 12px;'>
    <form enctype='multipart/form-data' method='POST'><a href="upload.php"> Upload: </a>STRING
    <table class='plainTable'><tr><td><input type='reset' value=' Clear From '><input name='upload' type='submit' value=' Upload '><input name='search' type='submit' value=' Search '></td></tr><tr><td>Type: <select name='docType'><option value='null'></option><option value = 'SLA'>SLA</option></select>&nbsp; Network Key:<select name='netKey'><option value='null'></option><option value='HSBB0057'>HSBB0057</option><option value='HSBB0060'>HSBB0060</option><option value='HSBB0064'>HSBB0064</option><option value='HSBB0065'>HSBB0065</option><option value='HSBB0087'>HSBB0087</option><option value='HSBB0115'>HSBB0115</option><option value='HSBB0135'>HSBB0135</option><option value='HSBB0136'>HSBB0136</option><option value='HSBB0144'>HSBB0144</option><option value='HSBB0156'>HSBB0156</option><option value='HSBB0162'>HSBB0162</option><option value='HSBB0164'>HSBB0164</option><option value='HSBB0226'>HSBB0226</option><option value='HSBB0251'>HSBB0251</option><option value='HSBB0269'>HSBB0269</option><option value='HSBB0314'>HSBB0314</option><option value='HSBB0316'>HSBB0316</option><option value='HSBB0324'>HSBB0324</option><option value='HSBB0387'>HSBB0387</option><option value='HSBB0418'>HSBB0418</option><option value='HSBB0423'>HSBB0423</option><option value='HSBB0502'>HSBB0502</option><option value='HSBB0509'>HSBB0509</option><option value='HSBB0543'>HSBB0543</option><option value='HSBB0561'>HSBB0561</option><option value='HSBB0579'>HSBB0579</option><option value='HSBB0580'>HSBB0580</option><option value='HSBB0581'>HSBB0581</option><option value='HSBB0582'>HSBB0582</option><option value='HSBB0584'>HSBB0584</option><option value='HSBB0585'>HSBB0585</option><option value='HSBB0586'>HSBB0586</option><option value='HSBB0587'>HSBB0587</option><option value='HSBB0588'>HSBB0588</option><option value='HSBB0598'>HSBB0598</option><option value='HSBB0600'>HSBB0600</option><option value='HSBB0601'>HSBB0601</option><option value='HSBB0602'>HSBB0602</option><option value='HSBB0605'>HSBB0605</option><option value='HSBB0606'>HSBB0606</option><option value='HSBB0609'>HSBB0609</option><option value='HSBB0612'>HSBB0612</option><option value='HSBB0616'>HSBB0616</option><option value='HSBB0618'>HSBB0618</option><option value='HSBB0620'>HSBB0620</option><option value='HSBB0625'>HSBB0625</option><option value='HSBB0626'>HSBB0626</option><option value='HSBB0627'>HSBB0627</option><option value='HSBB0628'>HSBB0628</option><option value='HSBB0629'>HSBB0629</option><option value='HSBB0630'>HSBB0630</option><option value='HSBB0635'>HSBB0635</option><option value='HSBB0636'>HSBB0636</option><option value='HSBB0637'>HSBB0637</option><option value='HSBB0640'>HSBB0640</option><option value='HSBB0641'>HSBB0641</option><option value='HSBB0642'>

      Also, I just tried doing the downloading on a separate script without any html and it works flawlessly. The problem definitely has something to do with trying to download from a script with html in it.

        Of course you get html in whatever you serve since you file starts with

        <html>
        <head> 
        ...

        Start your script with

        <?php
        if (download) {
        	header();
        	...
        	exit;
        ?>

          Thanks a lot johnafm. This is my first php script and I had kind of a crash course in it to get up and running for work and I guess I missed some basics. The books don't teach you everything!

          I appreciate it thanks.

            So I have everything working flawlessly when I try to download with firefox, however IE tries to download the actual script and not the file, and gets an error.

            Here is my updated code, I moved the downloading function to the top.

            <?php
            foreach($_REQUEST as $key => $value)
            {
            	if ($value == 'Download')
            	{
            		header();
            		session_start();
            		$dbh = new PDO('mysql:host='.$_SESSION['OpsDBServer'].'.ops.tns.its.psu.edu;dbname='.$_SESSION['OpsDB'], $_SESSION['yoM'], $_SESSION['aMa']);
            		$id = $key;
            		$sqlDownload = "SELECT name, type, content, size  FROM upload WHERE id='".$id."'";
            		$result = $dbh->query($sqlDownload);
            
            	$download = $result->fetchAll();
            
            	$type = $download[0]['type'];
            	$size = $download[0]['size'];
            	$name = $download[0]['name'];
            	$content = $download[0]['content'];
            
            	header("Content-type: $type");
            	header("Content-length: $size");
            	header("Content-Disposition: attachment; filename=$name");
            
            	echo $content;
            	exit;
            }
            }
            ?> 
            <html>
            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <link rel="stylesheet" type="text/css" href="../../psustyle.css" />
            <link rel="stylesheet" type="text/css" href="../OMSstyle.css" />
            <link rel="StyleSheet" href="/dTree/dtree.css" type="text/css" />
            <?php include '/var/www/html/OMSinclude.php'; ?> 
            <title>Operational Monitor and Statistics</title>
            </head>
            <body OnKeyPress="return disableKeyPress(event)">
            <?php
            include '/var/www/html/header.php';
            ?>
            
            <?php 
            if ($_SESSION['highestRole'] != 'Admin') exit; 
            
            $dbh = new PDO('mysql:host='.$_SESSION['OpsDBServer'].'.ops.tns.its.psu.edu;dbname='.$_SESSION['OpsDB'], $_SESSION['yoM'], $_SESSION['aMa']);
            echo "<form enctype='multipart/form-data' method='POST'>";
            echo "<a href=\"upload.php\"> Upload: </a>";
            
            $_SESSION['upload'] = 0;
            $_SESSION['search'] = 0;
            
            
            foreach($_REQUEST as $key => $value)
            {
            	if($value == 'Deactivate')
            	{
            		$_SESSION['key'] = $key;
            		$contents = $key;
            		$first_token = strtok($contents, '_');
            		$second_token = strtok('_');
            		$third_token = strtok('_');
            		$id = $first_token;
            		$type = $second_token;
            		$netKey = $third_token;
            		$user = strtoupper($_SERVER['REMOTE_USER']);
            		$sqlDeactivate = "UPDATE upload SET active = 0, modifiedBy = '$user', modifiedDate = Now() WHERE id = '".$id."' AND active ='1'";
            		$dbh->query($sqlDeactivate);
            
            	if ($_SESSION['searchTypeNullNull'])
            	{
            		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1'";
            		$_SESSION['searchTypeNullNull'] = 0;
            	}
            	if ($_SESSION['searchTypeTypeNull'])
            	{
            		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE documentType = '".$type."' AND active = '1'";
            		$_SESSION['searchTypeTypeNull'] = 0;		
            	}
            	if ($_SESSION['searchTypeNullNetKey'])
            	{
            		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE networkKey= '".$netKey."' AND active = '1'";
            		$_SESSION['searchTypeNullNetKey'] = 0;
            	}
            	if ($_SESSION['searchTypeTypeNetKey'])
            	{
            		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE documentType = '".$type."' AND networkKey= '".$netKey."' AND active = '1'";
            		$_SESSION['searchTypeTypeNetKey'] = 0;
            	}
            	if ($_SESSION['uploadSearch'])
            	{
            		"SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1'";
            		$_SESSION['uploadSearch'] = 0;
            	}
            	$_SESSION['search'] = 1;
            }
            if ($key == 'upload')
            {
            	$_SESSION['upload'] = $value;
            
            	if ($_FILES['userfile']['name'])
            	{
            		$fileName = $_FILES['userfile']['name'];
            		$tmpName  = $_FILES['userfile']['tmp_name'];
            		$fileSize = $_FILES['userfile']['size'];
            		$fileType = $_FILES['userfile']['type'];
            		$docType = $_POST['docType'];
            		$netKey = $_POST['netKey'];
            		$fp       = fopen($tmpName, 'r');
            		$content  = fread($fp, filesize($tmpName));
            		$content  = addslashes($content);
                	fclose($fp);
            
            		if(!get_magic_quotes_gpc())
            		{
            			$fileName = addslashes($fileName);
            		}
            
            		$values = "'".$fileName."','".$docType."','".$fileType."','".$content."','".$fileSize."','".$netKey."','".strtoupper($_SERVER['REMOTE_USER'])."', Now(), 1";
            		$sqlUpload = "INSERT INTO upload (name, documentType, type, content, size, networkKey, modifiedBy, modifiedDate, active) VALUES (".$values.")";
            		$dbh->query($sqlUpload);
            
            		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1'";
            		$_SESSION['uploadSearch'] =	1;
            	}
            }
            if ($key == 'search')
            {
            	$_SESSION['search'] = $value;
            
            	if ($_POST['docType'] == 'null' && $_POST['netKey'] == 'null')
            	{
            		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1'";
            		$_SESSION['searchTypeNullNull'] = 1;
            	}
            	if ($_POST['docType'] != 'null' && $_POST['netKey'] == 'null')
            	{
            		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1' AND documentType = '".$_POST['docType']."'";
            		$_SESSION['searchTypeTypeNull'] = 1;
            	}
            	if ($_POST['docType'] == 'null' && $_POST['netKey'] != 'null')
            	{
            		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1' AND networkKey = '".$_POST['netKey']."'";
            		$_SESSION['searchTypeNullNetKey'] = 1;
            	}
            	if ($_POST['docType'] != 'null' && $_POST['netKey'] != 'null')
            	{
            		$_SESSION['sql'] = "SELECT id, name, documentType, type, size, networkKey, modifiedBy, modifiedDate, active FROM upload WHERE active = '1' AND documentType = '".$_POST['docType']."' AND networkKey = '".$_POST['netKey']."'";
            		$_SESSION['searchTypeTypeNetKey'] = 1;
            	}
            	echo "</table>";
            }
            }
            
            
            if (!$_SESSION['upload'] && !$_SESSION['search'])
            {
            	echo "<table class='plainTable'>";						
            	echo "<tr>";
            	echo "<td>";
            	echo "<input type='reset' value=' Clear From '>";
            	echo "<input name='upload' type='submit' value='  Upload  '>";
            	echo "<input name='search' type='submit' value=' Search '>";
            	echo "</td>";
            	echo "</tr>";
            	echo "<tr>";
            	echo "<td>";
            	echo "Type: <select name='docType'>";
            	echo "<option value='null'></option>";
            	echo "<option value = 'SLA'>SLA</option>";
            	echo "</select>";
            	echo "&nbsp; Network Key:<select name='netKey'>";
            	echo "<option value='null'></option>";
            	$sql = "SELECT * FROM Strings Where active='1' ORDER BY networkKey";
            	foreach ($dbh->query($sql) as $row)
            		{	
            		echo "<option value='".$row['networkKey']."'>".$row['networkKey']."</option>";
            		}
            	echo "</select>";
            	echo "</td>";
            	echo "</tr>";
            	echo "<tr>";
            	echo "<td>Choose a File to Upload";
            	echo "<input type='hidden' name='MAX_FILE_SIZE' value='2000000'>";
            	echo "<input name='userfile' type='file' id='userfile'>";
            	echo "</td>";
            	echo "</tr>";
            	echo "</table>";	
            }
            
            if ($_SESSION['upload'] || $_SESSION['search'])
            {
            	echo "<table>";
            	echo "<tr>";
            	echo "<th></th>";
            	echo "<th>ID</th>";
            	echo "<th>Name</th>";
            	echo "<th>Document Type</th>";
            	echo "<th>File Type</th>";
            	echo "<th>Size</th>";
            	echo "<th>Network Key</th>";
            	echo "<th>ModifiedBy</th>";
            	echo "<th>ModifiedDate</th>";
            	echo "<th>Active</th>";
            	echo "<th></th>";
            	echo "</tr>";
            
            $sql = $_SESSION[sql];
            	foreach ($dbh->query($sql) as $row)
            	{
            		echo "<tr>";
            		echo "<td><input name='".$row[id]."' type='submit' value='Download' action='upload.php'></td>";
            		echo "<td>$row[id]</a></td>";
            		echo "<td>$row[name]</td>";
            		echo "<td>$row[documentType]</td>";
            		echo "<td>$row[type]</td>";
            		echo "<td>$row[size]</td>";
            		echo "<td>$row[networkKey]</td>";
            		echo "<td>$row[modifiedBy]</td>";
            		echo "<td>$row[modifiedDate]</td>";
            		echo "<td>$row[active]</td>";
            		echo "<td><input name='".$row[id]." ".$row[documentType]." ". $row[networkKey]."' type='submit' value='Deactivate'</td>";
            		echo "</tr>";
            	}
            echo "</table>";
            
            
            }
            
            
            
            
            
            echo "</form>";
            
            
            ?>
            
            <?php
            include '/var/www/html/footer.php';
            ?>
            </body>
            </html>
            
            
            

              If you specify "filename=file.notpdf" and "content-type: application/pdf", then IE will tell the user that the file is of type notpdf, at least as long as notpdf is a "well known format". This behaviour is possibly depending on user settings.

              Start by checking the value of $name. For simplicity, just replace the header calls with echo and then exit before you output $content. That way you'll see exactly what the headers look like. In FF with Firebug you can also see what headers are received by the client.

                I actually searched around and found out that I needed these two headers because I am over an SSL connection.

                header("Cache-Control: maxage=1"); //In seconds
                header("Pragma: public");

                it works great now. Thanks again

                  Write a Reply...