---
title: "Webbläsaren försöker läsa in filen istället för att ladda ner den..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/74887-webbläsaren-försöker-läsa-in-filen-istället-för-att-ladda-ner-den"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "aztek"
published: "2003-04-24T15:49:35.000Z"
updated: "2003-04-24T15:54:18.000Z"
replies: 2
views: 195
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/74887-webbläsaren-försöker-läsa-in-filen-istället-för-att-ladda-ner-den"
---

# Webbläsaren försöker läsa in filen istället för att ladda ner den...

## #1 — aztek, 2003-04-24T15:49Z

Jag har försökt få ihop ett nedladdningsscript som ska visa ett värde istället för hela sökvägen. Problemet just nu är att istället för att man får välja om man ska spara filen eller inte försöker webbläsaern ladda in hela filen i sidan, vilket givetvis tar en ohejdans lång tid (filerna är mellan 50 och 100MB stora). Jag lyckades få det att fungera om jag gjorde ett enkelt HTML dokument med en länk men inte nu när jag bäddar in det hela i mina php sidor. Har provat med olika headers utan resultat.

Länkarna skrivs ut följande: djsets.php?dl=44 exempelvis. Jag plockar värdet av dl direkt.

Koden:

```php
if ($dl) {
	$connection_djsets = mysql_connect($host,$user,$password) or die ("Kunde inte koppla upp mot MySQL servern\n". mysql_error());
	mysql_select_db($db) or die(mysql_error());
	$result = mysql_query('SELECT * FROM djsets WHERE id = '.$dl) or die (mysql_error());
		while ($row = mysql_fetch_array($result)) {
			extract($row);
			$filename = "F:/htdocs/smuts/music/$row[4]";
		}
	mysql_close($connection_djsets);

	$shortname = basename($filename);

	if(file_exists($filename) && !eregi("p?html?", $filename) && !eregi("inc", $filename) && !eregi("php", $filename) && !eregi("log", $filename) && !eregi("php3?", $filename)){
		$size = filesize($filename); 
		//header("Content-Type: application/save"); 
		//header("Content-Type: application/octet-stream"); 
		header("Content-Type: application/download"); 
		header("Content-Length: $size");
		//header("Content-Disposition: attachment; id=$shortname"); 
		header("Content-Disposition: attachment; filename=$shortname");
		header("Content-Transfer-Encoding: binary"); 
		$fh = fopen("$filename", "rb"); 
		fpassthru($fh); 
		exit;
	}
}

?>

<td width="422"><table width="422" cellpadding="0" cellspacing="0" border="0">
					<tr>
						<td bgcolor="#E9E9E9"><table width="422" cellpadding="0" cellspacing="0" border="0" background="img/news_back.gif">
								<tr>
									<td colspan="5"><img src="img/sets_top.gif"></td>
								</tr>
								<tr>
									<td colspan="5"><img src="img/empty.gif" width="1" height="5"></td>
								</tr>
								<tr valign="top">
									<td width="5"><img src="img/empty.gif" width="5"></td>
									<td width="412"><table width="100%" cellpadding="2" cellspacing="0" border="0">
<?php
	$connection_djsets = mysql_connect($host,$user,$password) or die ("Kunde inte koppla upp mot MySQL servern\n". mysql_error());
	mysql_select_db($db) or die(mysql_error());
	if ($pl) {
		$result = mysql_query('SELECT * FROM djsets WHERE id = '.$pl) or die (mysql_error());
		while ($row = mysql_fetch_array($result)) {
				extract($row);
				echo "<tr bgcolor=DFDFDF><td>Playlist for $row[2]</td></tr>";
				echo "<tr bgcolor=E9E9E9><td>".nl2br($row[5])."<p>« <a href=\"djsets.php\">back</a></td></tr>";
		}
	} else {
		$result = mysql_query('SELECT * FROM djsets ORDER BY dj') or die (mysql_error());
		$bgcolor = "#E9E9E9";
			while ($row = mysql_fetch_array($result)) {
				extract($row);
				print "<tr bgcolor=\"$bgcolor\" valign=top><td><b>$row[1] - $row[2]</b></td><td align=right>";
				if ($row[5] != '') {
					print "<a href=\"djsets.php?pl=$row[0]\"><img src=\"img/pl.gif\" border=\"0\" alt=\" :: View Playlist :: \"></a>";
				}
				print " <a href=\"djsets.php?dl=$row[0]\"><img src=img/dl.gif border=0 alt=\" :: Download :: \"></a></td></tr>";
				print "<tr bgcolor=\"$bgcolor\"><td colspan=2>$row[3] : $row[6]</td></tr>";
				print "<tr><td colspan=2><img src=\"img/empty.gif\" width=1 height=0></td></tr>";
				$bgcolor = $bgcolor == "#DFDFDF" ? "#E9E9E9" : "#DFDFDF";
			}

	}
	mysql_close($connection_djsets);
?>
											</table></td>
```

Permalänk: https://www.webforum.nu/p/74887

## #2 — aztek, 2003-04-24T15:50Z

Ni kan kolla på denna länk hur det (inte) funkar nu: <http://217.215.27.149:8090/smuts/djsets.php>

Permalänk: https://www.webforum.nu/p/1023891

## #3 — aztek, 2003-04-24T15:54Z

Jag är tydligen helt blind. Hade en include innan själva allt skulle utföras vilket ledde till att det inte fungerade som det skulle. Funkar bra nu, tack i alla fall :)

Permalänk: https://www.webforum.nu/p/1023894

---

Tråden på webben: https://www.webforum.nu/amne/php/74887-webbläsaren-försöker-läsa-in-filen-istället-för-att-ladda-ner-den
