---
title: "Bästa filtyp för file_get_contents"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/184920-bästa-filtyp-för-file-get-contents"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "learn"
published: "2010-10-13T08:20:53.000Z"
updated: "2010-10-13T11:20:16.000Z"
replies: 8
views: 597
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/184920-bästa-filtyp-för-file-get-contents"
---

# Bästa filtyp för file_get_contents

## #1 — learn, 2010-10-13T08:20Z

Jag ska läsa in ett antal relativt små filer till en sträng. Tänkte använda funktionen file_get_contents då den tycks vara snabbast.

Vilken filtyp är bäst att välja? Alltså vilken öppnas snabbast?

file_get_contents(fil.txt)

vs

file_get_contents(fil.php)

etc...

Tack på förhand!  :)

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

## #2 — SPiN, 2010-10-13T08:26Z

Det spelar ingen roll.

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

## #3 — nitro2k01, 2010-10-13T08:28Z

Spelar ingen som helst roll. Den enda skllinaden med .php är att filen dessutom kan köras i webbläsaren om besökaren skriver in namnet (och filen innehåller körbar kod.) 

Jag vet iofs inte vad du vill åstadkomma men kan nästan säkert säga att du skulle ha fördel av att köra med en databas istället.

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

## #4 — MickeA.com, 2010-10-13T09:00Z

Nackdelen med textfilen är ju att innehållet skrivs ut direkt i browsern om man går till den direkt. Dåligt om du har känslig data i den, men det bör du aldrig, aldrig, aldrig ha ändå, så det kvittar.

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

## #5 — GunnarD, 2010-10-13T09:36Z

Sätt en extension som lite talar om vad filen innehåller.

.txt för text filer
.php för php filer
...

Och eftersom php script kan läsa utanför webroten så kan du lägga dom filerna var du vill så länge webservern kan lösa dom.

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

## #6 — learn, 2010-10-13T10:42Z

Så här ligger det till...

Jag har en del config-filer i yml-format. Dessa parsas mha sfYaml (symfony component). När dessa filer är laddade "cachar" jag dem för att, enligt mina förhoppningar, spara på serverns resurser. För visst borde det gå snabbare att köra file_get_contents på mina cache-filer istället för att vid varje request ladda yml?

Exempel 1 (file_get_contents):

```php
// Create cache file
function createCache($array)
{
	$cache_file = 'cache/config.txt';
	$cache_file = fopen($cache_file, 'w');
			
	$content = serialize($array);
			
	fwrite($cache_file, $content);
	fclose($cache_file);
}

// Get cache
// Returns config array
function getCache($file)
{
	$content = file_get_contents($file);

	return unserialize($content);
}
```

En annan lösning är ju att skapa cache-filerna innehållande php-arrayer som sedan laddas mha include().

Exempel 2 (include array):

```php
// Create cache file
function createCache()
{
	$cache_file = 'cache/config.php';
	$cache_file = fopen($cache_file, 'w');
			
	$content = '$cache = ' . arrayToString($value) . ';';
			
	fwrite($cache_file, $content);
	fclose($cache_file);
}

// Get cache
// Returns config array
function getCache($file)
{
	$cache = array();
	include($file);
	return $cache;
}

// Create string of array for cache-fil
function arrayToString($array, $str = null)
{
	$str = 'array(';
		
	foreach ($array as $key => $value)
	{
		$str .= is_numeric($key) ? $key : '"$key"';
		$str .= " => ";
		$str .= is_array($value) ? arrayToString($value, $value) : '"$value"';
		$str .= ',';
	}
		
	$str .= ')';
		
	return $str;
}
```

Jag tror mest på alternativ 1. Vad tycker ni? Är funktionen serialize() långsam?

Tack

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

## #7 — SPiN, 2010-10-13T10:49Z

Alternativ två är bättre. Att serialisera tar mer prestanda än att inkludera en fil med include() eller require().

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

## #8 — learn, 2010-10-13T10:58Z

Aha, ok. Tack för ditt svar.

Tycker du kodexemplet ser vettigt ut? Något du skulle förbättra?

Vissa config-arrayer kan bli ganska omfattande, säg 2-3 tusen keys minst. Ser du något problem med det?

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

## #9 — SPiN, 2010-10-13T11:20Z

Kodexemplet ser OK ut, för jag gissar på att skrivningar av config-filen inte sker speciellt ofta.

2k-3k värden i arrayen bör inte vara något problem att hantera för PHP, men kanske skulle du kolla på någon cache som lagrar data i minnet? Om det är ofta som denna information används alltså. T.ex. memcache eller APC kan vara alternativ, men dom kräver att du har koll på din hosting-miljö, de flesta webhotell tillhandahåller inte dessa minnes-funktioner/-klasser tyvärr.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/184920-bästa-filtyp-för-file-get-contents
