webForumDet fria alternativet

Sortera på filnamn

PHP

5 svar · 558 visningar · startad av nordan

Medlem sedan juni 2000949 inlägg
Frågan#1

Jag har gjort ett script som går in i en mapp och leter fram bilder. När jag nu kör detta script så sorterar den på datum eller snarare tid hur skall jag göra i denna funktion för att få den att sortera på filnamnen?

function get_files()
{
	global $currdir,$imagetypes,$imagelist,$cu; 
	
	$dp = opendir(".");
	while (false!=($file=readdir($dp)))
	{
		if(is_file($file) && $file != "." && $file != "..")
		{
			$extention = explode(".",$file);
			echo $extention['0'];
			$extention = $extention['1'];
			if(in_array($extention,$imagetypes))
			{
				array_push($imagelist,$file);
				$cu++;
			}
		}
		
	}
	
}
Medlem sedan juni 20006 031 inlägg
Medlem sedan juni 2000949 inlägg
#3

Fixa det man sort()
Kolla koden nedan om det är någon som är intresserad.

function get_files()
{
	global $currdir,$imagetypes,$imagelist,$cu; 
	
	$dp = opendir(".");
	while (false!=($file=readdir($dp)))
	{
		if(is_file($file) && $file != "." && $file != "..")
		{
			
			
			$extention = explode(".",$file);
			$extention = $extention['1'];
				
			if(in_array($extention,$imagetypes))
			{
				array_push($imagelist,$file);
				[B]sort($imagelist);[/B] 	$cu++;
			}
		}
		
	}
	
}
Medlem sedan aug. 2002224 inlägg
#4

gillar för egen del natsort () bättre då man får siffror i ordningen 1 2 3 4 5.. istället för 1 10 2 3 4..

Medlem sedan sep. 2003110 inlägg
#5

Hejsan

Skulle vilja att de namn som jag sparat i en kolumn i en textfil skrivs ut i två kolumner på sidan i alfabetisk ordning oavsett hur de står i textfilen.

Idag använder jag koden nedan så kanske ni förstår frågan bättre. Här måste jag dock själv se till att namnen hamnar i rätt ordning vilket är lite jobbigt när nya namn ska skrivas in - betydligt enklare vore ju att kunna skriva in dem var som helst.

<?
	$filename = "marke.txt";
	$fd = fopen($filename, 'r');
	
	echo '<table border="0" cellspacing="0" cellpadding="1">';
	while(!feof($fd))
	{
		$line = explode("|", fgets($fd));
		if(sizeof($line) == 2)                    //ändra efterhand
		{
			echo "<tr><td width='15' align='center' valign='top'><img src='grafik/punkt.gif' width='7' height='13'></td>
<td width='150'><b>$line[0]</b></td>
<td width='15' align='center' valign='top'><img src='grafik/punkt.gif' width='7' height='13'></td>
<td><b>$line[1]</b></td></tr>\n";
		}
	}
	echo '</table>';
	fclose($fd);
?>

Nuvarande textfils utseende:

Audi|Mercedes
BMW|Saab
Ford|Volvo

som jag alltså vill ha i en enda lång lista, typ

Audi
BMW
Ford
osv

Någon lösning på hur detta skulle kunna lösas mottages tacksamt.

mvh

Medlem sedan sep. 2003110 inlägg
#6

Sorry, hamnade visst lite fel. Sorry igen.

266 ms totalt · 4 externa anrop · v20260731065814-full.bd618308
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)