---
title: "Filhämtning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/98161-filhämtning"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Uwe"
published: "2004-02-25T09:40:12.000Z"
updated: "2004-03-09T19:51:41.000Z"
replies: 5
views: 880
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/98161-filhämtning"
---

# Filhämtning

## #1 — Uwe, 2004-02-25T09:40Z

Har problem med ett script där man ska kunna öppna eller spara ner filen som är av typen mp3 eller ra. 

Jag har gjort på följande sätt:

```php
$query = "SELECT * FROM filer WHERE ID={$_GET[id]}";
	$result = mysql_query($query);
	while($list= mysql_fetch_array($result)){
		header("Content-Type: ".$list['Type']);
		readfile("mapp/".$list['Filnamn']);
	}
```

 

Problemet är att filnamnet blir inte det som finns i databasen (ex song.mp3), utan det blir samma som filen heter (fil.php). Jag har även provat en alternativ lösning där man måste ladda hem filen.

```php
$query = "SELECT * FROM filer WHERE ID={$_GET['id']}";
	$result = mysql_query($query);
	while($list = mysql_fetch_array($result)){
		header("Content-Type: application/force-download");
		header("Content-Type: ".$list['Type']);
		header("Content-Type: application/download");
		header("Content-Disposition: attachment; filename=".$list['Filnamn']););
		readfile("mapp/".$list['Filnamn']);
	}
```

 

Denna funkar bra och filnamnen blir de rätta, men då går det ju inte att välja att öppna filen direkt från sin plats.

Någon som vet hur detta går att lösa?

/Uwe

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

## #2 — *erik, 2004-03-03T20:12Z

öppna ljudfil direkt

Problemet som Uwe har beskrivit är något som även jag skulle vilja få beskrivet. Om man har en ljudfil (exempelvis mp3) så vill jag att den ska gå att öppna istället för att bara spara när "popup-rutan" kommer fram efter att man klickat på länken...

Självklart måste det finnas någon vänlig själ som löst detta på WF och kan förklara en lösning.. 

mvh \*erik

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

## #3 — SPiN, 2004-03-03T21:34Z

Vill du streama MP3-filen rakt av så behöver du inte ens använda PHP. Spara hela sökvägen till din MP3-fil i en vanlig textfil, och döp till t.ex. 'musik.m3u':

```
[url]http://DINDOMÄN.SE/MUSIK.mp3[/url]
```

Sen använder du följande kod för att streama upp ljudet.

```
<embed src="http://DINDOMÄN.SE/MUSIK.m3u" hidden="true" autorstart="true" width="128" height="128">

<object id="MediaPlayer"
classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715"
standby="Loading Microsoft Windows Media Player components..."
type="application/x-oleobject" width="239" height="179">

<param name="FileName" value="http://DINDOMÄN.SE/MUSIK.m3u">
<param name="AnimationatStart" value="false">
<param name="TransparentatStart" value="true">
<param name="AutoStart" value="true">
<param name="ShowControls" value="0">

<embed type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/isapi/redir.dll?prd=windows&sbp=mediaplayer&ar=Media&sba=Plugin&"
SRC="http://DINDOMÄN.SE/MUSIK.m3u"
Name=MediaPlayer
ShowControls=0
Width=2
Height=2
</embed>
</object>
```

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

## #4 — SPiN, 2004-03-03T21:46Z

Jag kom att tänka på att det kanske räcker med att sätta en header och sedan skicka iväg filen?

```
<?php
header( "Content-Type: audio/mpeg" );
header( "Content-Disposition: attachment; filename=MINFIL"
readfile( "MINFIL.mp3" );
?>
```

Hittade även: <http://www.zend.com/codex.php?id=160&single=1>

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

## #5 — Mungo, 2004-03-04T13:39Z

Det är faktiskt ännu bättre att bara skriva ut en M3U, då funkar det både med lokala och strömmade filer.

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

## #6 — Uwe, 2004-03-09T19:51Z

Jag har själv hittat en lösning. Tyvärr funkar det bara med mp3-filer och inte med typen .ra och .rm. Men med denna kommer man ju halvägs.

```php
$query = "SELECT * FROM filer WHERE ID={$_GET['id']}";
    $result = mysql_query($query);
    while($list = mysql_fetch_array($result)){
header("Cache-Control: no-store, no-cache, must-revalidate");  
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");                                   
header("Cache-control: private");                          
header("Content-type: ".$list['Type']);                     
header("Content-Disposition: attachment; filename=".$list['Filnamn']);
$fd = fopen ("mapp/".$list['Filnamn']), "rb");
fpassthru($fd);
}
```

Är det någon som vet hur man kan göra med .ra- och .rm-filer så är det välkommet.

/Uwe

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

---

Tråden på webben: https://www.webforum.nu/amne/php/98161-filhämtning
