WinFuture-Forum.de: Verzeichnis Auslesen (dateinamen Und Größe) - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Verzeichnis Auslesen (dateinamen Und Größe) mit PHP


#1 Mitglied ist offline   MaliMaster 

  • Gruppe: aktive Mitglieder
  • Beiträge: 907
  • Beigetreten: 10. April 02
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Deutschland

geschrieben 04. April 2006 - 15:08

Hallo Leute,

ich möchte ein Verzeichnis mit PHP auslesen. Das geht auch soweit, allerdings würde ich gerne hinter den Dateinamen auch die jeweilige Dateigröße anzeigen. Gibt es dafür eine Funktion oder sowas? Ich poste mal den Code den ich bis jetzt habe. Auf php.net hab ich keine Funktion gefunden.

	$verz = opendir ("Musik");
	$array1 = array("");
	while ($file = readdir ($verz)){
			if ($file !="." && $file !=".."){
					array_push($array1,$file);
			}
	}
	closedir($verz);
	$zaehler = 0;
	natcasesort($array1);
	foreach ($array1 as $value){
		if ($zaehler == 0){
			  $zaehler = 1;
		}
		else{
			echo "<p style='margin: 0px;'><a target='_blank' href='Musik/".$value."'>".$value."</a></p>";
		}				
	}

Dieser Beitrag wurde von MaliMaster bearbeitet: 04. April 2006 - 15:10

0

Anzeige



#2 _rjchio_

  • Gruppe: Gäste

geschrieben 04. April 2006 - 15:11

Einmal Google - erstes Ergebnis :D
http://www.webmaster-resource.de/tricks/ph...ch-anzeigen.php

Edit: filesize()

MfG rjchio

Dieser Beitrag wurde von rjchio bearbeitet: 04. April 2006 - 15:13

0

#3 Mitglied ist offline   MaliMaster 

  • Gruppe: aktive Mitglieder
  • Beiträge: 907
  • Beigetreten: 10. April 02
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Deutschland

geschrieben 05. April 2006 - 07:50

Hey Danke,

hat super geklappt.

	$dirname = "Musik";
	$verz = opendir ($dirname);
	$array1 = array("");
	while ($file = readdir ($verz)){
			if ($file !="." && $file !=".."){
					//array_push($array1,$file);
					$file_array[$i][name] = $file;
					$file_array[$i][datum] = date ("d.m.Y", filemtime($dirname."/".$file));
					$file_array[$i][groesse] = filesize ($dirname."/".$file);
					if($file_array[$i][groesse] < 1000){
						$file_array[$i][groesse] = number_format($file_array[$i][groesse], 0, ",", ".")." bytes";
					}
					elseif($file_array[$i][groesse] < 1000000){
						$file_array[$i][groesse] = number_format($file_array[$i][groesse]/1024, 0, ",", ".")." kb";
					}
					else{
						$file_array[$i][groesse] = number_format($file_array[$i][groesse]/1048576, 0, ",", ".")." mb";
					}
					$i++;
			}
	}
	$blub = 0;
	natcasesort($file_array);
	foreach ($file_array as $value){
		if ($blub == 0){
		}
		else{
			echo "<p style='margin: 0px;'><a target='_blank' href='Musik/".$file_array[$blub]['name']."'>".$file_array[$blub]['name']." vom ".$file_array[$blub]['datum']." (".$file_array[$blub]['groesse'].")</a></p>";
		}	
		$blub++;
	}
	closedir($verz);


Jetzt hab ich nur noch ein Problem. Ich muss das Array mit den Datein nach den Dateiname sortieren. Also nache "$file_array[$i]['name']". Wenn jemand auf die schnell eine Idee hat, wäre es schöm =) Wenn nicht bekomm ich das schon hin.
0

#4 Mitglied ist offline   mo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.796
  • Beigetreten: 17. Juni 02
  • Reputation: 0
  • Wohnort:Ulm / BaWü

geschrieben 05. April 2006 - 08:05

http://de.php.net/ma...nction.sort.php :blush:
I'm mó. mo's good twin.
0

#5 Mitglied ist offline   MaliMaster 

  • Gruppe: aktive Mitglieder
  • Beiträge: 907
  • Beigetreten: 10. April 02
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Deutschland

geschrieben 05. April 2006 - 08:52

Danke =)

Falls es irgendwen interessiert, hier der Code:

function array_sort_multi2($array, $key){
	for ($i = 0; $i < sizeof($array); $i++){
		if(! empty($array[$i][$key])){
			$sort_values[$i] = $array[$i][$key];
		}
	else{
		$sort_values[$i] = $array[$i];
		}
	}
	asort ($sort_values);
	reset ($sort_values);
	while (list ($arr_keys, $arr_values) = each ($sort_values)) {
		$sorted_arr[] = $array[$arr_keys];
	}
	return $sorted_arr;
}
	$verz = opendir ($dirname);
	$array1 = array("");
	$i = 0;
	while ($file = readdir ($verz)){
			if ($file !="." && $file !=".." && $file !="" && $file !=" " && $file !="  "){
					$file_array[$i][name] = $file;
					$file_array[$i][datum] = date ("d.m.Y", filemtime($dirname."/".$file));
					$file_array[$i][groesse] = filesize ($dirname."/".$file);
					if($file_array[$i][groesse] < 1000){
						$file_array[$i][groesse] = number_format($file_array[$i][groesse], 0, ",", ".")." bytes";
					}
					elseif($file_array[$i][groesse] < 1000000){
						$file_array[$i][groesse] = number_format($file_array[$i][groesse]/1024, 0, ",", ".")." kb";
					}
					else{
						$file_array[$i][groesse] = number_format($file_array[$i][groesse]/1048576, 0, ",", ".")." mb";
					}
			}
			$i++;
	}
	$blub = 0;
	$file_array = array_sort_multi2($file_array, "name");
	foreach ($file_array as $value){
		if($file_array[$blub]['name'] != "" && $file_array[$blub]['name'] != " "){
			echo "<p style='margin: 0px;'><a target='_blank' href='".$dirname."/".$file_array[$blub]['name']."'>".$file_array[$blub]['name']." vom ".$file_array[$blub]['datum']." (".$file_array[$blub]['groesse'].")</a></p>";
		}
		$blub++;
	}
	closedir($verz);

Dieser Beitrag wurde von MaliMaster bearbeitet: 05. April 2006 - 08:53

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0