---
title: "Lagra fil i databas."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/138915-lagra-fil-i-databas"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "LOOlau"
published: "2005-12-06T20:52:01.000Z"
updated: "2005-12-09T14:24:42.000Z"
replies: 5
views: 453
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/138915-lagra-fil-i-databas"
---

# Lagra fil i databas.

## #1 — LOOlau, 2005-12-06T20:52Z

Hej...

Vill lagra en fil i en databas och sen självklart kunna presentera denna fil. Mp3, bild eller vad det nu är för fil.

Har sökt endel i forumet och på google men hittar inte de jag söker... Är kass på att söka.. Så om någon kundde förklara hur man gör eller ge mig en länk där det förklaras skule uppskattas..

Tacksam för hjälp..

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

## #2 — LOOlau, 2005-12-06T20:56Z

Såhär långt har jag kommit iaf..

Får ut en array som innehåller lite information
Fattar doc inte riktigt hur ja ska få in filen i en databas..

Array ( \[filename\] =\> Array ( \[name\] =\> top-pice.png \[type\] =\> image/png \[tmp_name\] =\> /tmp/phpWjdau4 \[error\] =\> 0  \=\> 944 ) )

\<?
print_r($\_POST\[filename\]);
echo "\<br /\>";
print_r($\_FILES);

echo "\<form enctype='multipart/form-data' method='POST'\>";
//echo "\<form method='post'\>";
echo "\<input type='file' name='filename'\>";
echo "\<input type='submit' value='ladda upp fil'\>";
echo "\</form\>";
?\>

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

## #3 — 99nvbjed, 2005-12-07T13:31Z

Det är rätt ovanligt att lagra filer i databaser. Skulle det inte funka att lagra en referens till filen istället? Alltså lagra bara sökvägen. Det är nog den vanliga varianten.

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

## #4 — LOOlau, 2005-12-07T19:42Z

Filen som hammnar i databasen är 0 bytes. Nån som vet vad felet är?
Den går in i if sattsen "if (file_exists($\_FILES\[filename\]\[tmp_name\]))".

```php
<?
	$database = "databas";
	$login = "root"; 
	$password= "passerord";
	$hostname = "localhost"; 
	
	mysql_connect($hostname, $login, $password) or die("Unable to connect to MySQL"); 	
	mysql_query("use $database") or die("Invalid query: " . mysql_error());

print_r($_FILES[filename]);

if (file_exists($_FILES[filename][tmp_name]))
{
	echo "<font style='color:green;'>JAG EXISTERAR!</font>";	
	$file = $_FILES[filename][tmp_name];
	$sql = "INSERT INTO files (id) VALUES ('')";
	mysql_query($sql) or die("Invalid query $sql" . mysql_error());

	echo mysql_insert_id();

	 $sql = "update files set file=load_file('$file') where id=".mysql_insert_id();
	mysql_query($sql) or die("Invalid query $sql" . mysql_error());
}
else
{
	echo "<font style='color:red;'>JAG EXISTERAR INTE!</font>";
}
echo "<form enctype='multipart/form-data' method='POST'>";
echo "<input type='file' name='filename'>";
echo "<input type='submit' value='ladda upp fil'>";
echo "</form>";
?>
```

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

## #5 — LOOlau, 2005-12-07T22:43Z

ok nu står jag som ett frågetecken. Testade att med exact samma kod men ändrade $file = $\_FILES\[filename\]\[tmp_name\]; till $file = "/tmp/.X0-lock" en fil som redan finns i /tmp och det FUNGERAR!?

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

## #6 — LOOlau, 2005-12-09T14:24Z

$file = $\_FILES\[filename\]\[tmp_name\];
$exec="chmod 644 $file";
exec($exec, $ceppo, $ceppo2);

Löste problemet.. Antar att sql inte hadde rättighet att läsa filen..

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

---

Tråden på webben: https://www.webforum.nu/amne/php/138915-lagra-fil-i-databas
