---
title: "Lista fil, länka till filen i databasen"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/155848-lista-fil-länka-till-filen-i-databasen/page2"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Tulork"
published: "2007-01-10T22:01:15.000Z"
updated: "2007-01-12T15:34:56.000Z"
replies: 27
views: 798
page: 2
pages: 2
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/155848-lista-fil-länka-till-filen-i-databasen"
---

# Lista fil, länka till filen i databasen

_Sida 2 av 2._

## #21 — Tulork, 2007-01-11T22:38Z

kanske missförstånd med filerna? jag ska alltså låta användarna ladda hem filerna, till sin dator...pdf document, word dokument, powerpoint, zip osv.. inte bilder.

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

## #22 — Pedda, 2007-01-11T22:45Z

Ah, det är jag som fattar fel, är nog för att jag är trött och håller på med annat samtidigt.

Är det inte enklare att ladda upp filerna till en mapp och bara spara filnamnet i databasen? Sen skriva ut en länk som dom får klicka på för att läsa/ladda ner filen.

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

## #23 — Tulork, 2007-01-11T22:53Z

jo, men då måste jag ändra om hela upload samt download skriptet..vet faktiskt inte hur man gör för att ladda upp till en mapp :S kanske inte är så svårt..

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

## #24 — Tulork, 2007-01-12T00:04Z

```php
<?php
ob_start();
session_start();
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_userlevel']) || $_SESSION['sess_userlevel'] != "admin") {
//  header("Location: index.php");
  header("refresh: 5;url=konto.php");
// eller
  echo "Du har inte behörighet till den här sidan";
  exit;
}
?>
<?php
include "conn.php"; // Databasanslutningen

// Performing SQL query sh
$ID_ADD = $_GET['var'];

if (isset ($_GET['var'])){
$query = "SELECT * FROM $mem_table WHERE id =".$_GET['var']." ";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

// Printing results in HTML
echo "<p>Du redigerar användaren:<p>";
//echo "$_SESSION['sess_userlevel'];";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
//echo "test $sess_userlevel";
}
echo "</table>\n";

// Free resultset
//mysql_free_result($result);
} 

echo "<br>$ID_ADD";

if (isset($_FILES['uplfile'])) {
	// Mappen där filerna ska hamna
	$upload_dir = 'download/';
	// De tillåtna filtyperna, separerade med komman, utan mellanrum
	$filetypes = 'jpg,gif,png,doc,zip,ppt,txt,pdf';
	// Den största tillåtna storleken (80 kB)
	$maxsize = (1024*20000000);

	// Kontrollera att det angavs en fil
	if(empty($_FILES['uplfile']['name']))
		die('Ingen fil har valts');

	// Kontrollera storleken
	if($_FILES['uplfile']['size'] > $maxsize)
		die('Filen du valde är för stor. Maxstorleken är '.(string)($maxsize/1024).' KB.');

	// Kontrollera filtypen
	$types = explode(',', $filetypes);
	$file = explode('.', $_FILES['uplfile']['name']);
	$extension = $file[sizeof($file)-1];
	if(!in_array(strtolower($extension), $types))
		die('Du har en felaktig filtyp. Endast .jpg, .gif och .png är tillåtet!');

	// Generera unikt filnamn
	$bokstav = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6');
	$thefile = $_FILES['uplfile']['name'];
	while (file_exists($upload_dir.$thefile)) { $img = $bokstav[rand(0, count($bokstav)-1)].$thefile; }

	// Flytta filen rätt
	if (is_uploaded_file($_FILES['uplfile']['tmp_name']) && move_uploaded_file($_FILES['uplfile']['tmp_name'],$upload_dir.$thefile)) {
		echo 'Filen laddades upp!';

	//Min införning i databasen
	$query = "INSERT INTO UserFiles (filename, RefID) "."VALUES ('$thefile', '$ID_ADD')";
	mysql_query($query) or die ('gick inte att införa i databasen');

	} else {
		echo 'Ett fel uppstod och filen kunde inte laddas upp.';

		/*
		Uppladdningen misslyckades.
		*/
	}
}
else
{

  ?>
	<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
	Fil:&nbsp;<input type="file" name="uplfile"><br>
	<input type="submit" value="Ladda upp filen">
	</form>
  <?php

}

?>
</body>
</html>

<?php
echo "<br><a href=\"index.php?logout=\">Logga ut</a>\n<br><br>";
?>
<a href="admin.php">Tillbaka </a><br><br>
```

okej, så här ser den nya upload koden ut..nu laddar den till en mapp, lite mer säkerhet osv...den inför också in i databasen filens filnamn..men när jag ska ha in $ID_ADD vilket är ID numret på den användaren jag vill ska ha tillgång till denna fil (i download saken sen)..men den vill inte mata in innehållet i $ID_ADD..har kollat lite och vad jag kan se så innehåller $ID_ADD alltid det id nummer jag valde på sidan innan..

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

## #25 — Tulork, 2007-01-12T11:11Z

alltså jag blir knäpp, varför vill den inte föra in $\_GET\['var'\] ??? statiska värden funkar ju... det funkar längre upp i koden..???

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

## #26 — Tulork, 2007-01-12T14:30Z

ingen som vet då alltså? :S

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

## #27 — Pedda, 2007-01-12T15:06Z

När du laddar upp filen så använder formuläret post och då skickar du ju inte med $ID_ADD.
Lägg in ett hidden-fält i formuläret med värdet på $ID_ADD så du får med det till andra sidan och lägg in det i databasen med $\_POST\['id_add'\]

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

## #28 — Tulork, 2007-01-12T15:34Z

Nä inte $ID_ADD, men $ID_ADD innehåller ju $\_GET\['var'\]; som kommer från andra sidan...varför skulle jag inte kunna använda det igen? precis som jag gjorde längre upp i koden?

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

---

Tråden på webben: https://www.webforum.nu/amne/php/155848-lista-fil-länka-till-filen-i-databasen/page2  
Föregående sida: https://www.webforum.nu/amne/php/155848-lista-fil-länka-till-filen-i-databasen.md
