SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 27.04.2003, 20:35:11
mucho mucho ist offline
Anfänger
 
Registriert seit: Apr 2003
Beiträge: 19
Einlesen und sortieren

Hallo,

Ich lese mit den Befehlen while und readdir() ein Verzeichnis ein. Es sind nur .swf (Flashdateien) in dem Ordner vorhanden. Am Ende kommen die Arrays $files (Dateinamen), $size_file (Dateigrößen) und $unit_file (KB/MB..) heraus. Die Hits sind in einem zusätzlichem Array gespeichert, das zu den Hits auch den Dateiname zur richtigen Zuordnung beinhaltet. Beispiel aus diesem Array:

./flash/Dateiname.swf#75

Hier der gesamte Code (ohne Hits):

PHP-Code:
$size 0;
$verz opendir ("$global_flash_dir");
while (
$entry readdir ($verz))
 {  
   
$temp explode(".",$entry);
   if (
$temp[1] == "$dateityp")
    {
      
$a++;
      
$files[$a] = $entry;
      
$size_file[$a] = round(filesize("$global_flash_dir/$entry"),5);
      if (
$size_file[$a] > 1000000)
       {
         
$size_file[$a] = round (round($size_file[$a]/1024,2)/1024,1);
         
$unit_file[$a] = "MB";
       }
      if (
$size_file[$a] > 1000)
       {
         
$size_file[$a] = round ($size_file[$a]/1024);
         
$unit_file[$a] = "KB";
       }
      
$size_total $size_total filesize("$global_flash_dir/$entry");
    }
 }
closedir($verz); 
Nur hab ich das Problem der Sortierung. Ich weiß nicht, wie ich die Arrays nach Namen/Dateigröße/Hits sortieren kann. Kann mir jemand helfen?

mfg Mucho
__________________
Was man nicht aufgibt, hat man nie verloren.(Friedrich Schiller)
Mit Zitat antworten
  #2  
Alt 28.04.2003, 06:38:12
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Alle Daten in ein Array packen und dann array_multisort() drauf loslassen. Sollte klappen.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 28.04.2003, 19:03:03
mucho mucho ist offline
Anfänger
 
Registriert seit: Apr 2003
Beiträge: 19
Hm, ich kenne array_multisort(), aber warum in ein Array? Dachte man könne es auch anders machen:
PHP-Code:
array_multisort($files,$size_file,$unit_file
Aber gesagt -> getan. Funktioniert nur nicht. Mit dem Code
PHP-Code:
$sort_array["files"] = $files;
$sort_array["size"] = $size_file;
$sort_array["unit"] = $unit_file;
array_multisort($sort_array,SORT_STRINGSORT_ASC);
$files $sort_array["files"];
$size_file $sort_array["size"];
$unit_file $sort_array["unit"]; 
Warum nicht???

mfg Mucho
__________________
Was man nicht aufgibt, hat man nie verloren.(Friedrich Schiller)
Mit Zitat antworten
  #4  
Alt 28.04.2003, 19:25:19
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Hast Du denn Deine Idee auch mal probiert? Ich hab mit array_multisort() noch nie gearbeitet. Wusste ja nicht mal, dass das Probleme machen könnte...
Ich hab das Problem immer über einen kleinen Umweg umgangen. :)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #5  
Alt 28.04.2003, 19:34:17
mucho mucho ist offline
Anfänger
 
Registriert seit: Apr 2003
Beiträge: 19
Ja, hab ich. Funktioniert auch nicht...hab es noch nie geschafft irgendetwas zu sortieren...wenn es sich um Arrays handelte.

Wie hast du es umgangen?

mfg Mucho
__________________
Was man nicht aufgibt, hat man nie verloren.(Friedrich Schiller)
Mit Zitat antworten
  #6  
Alt 28.04.2003, 19:44:47
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
so sollte es gehen.

PHP-Code:
array_multisort($filesSORT_ASCSORT_STRING$size_fileSORT_ASCSORT_STRING,$unit_fileSORT_NUMERICSORT_DESC);

for(
$i 0$i count($files); $i++) print $files[$i].' - '.$size_file[$i].' - '.$unit_file[$i].'<br>'
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #7  
Alt 28.04.2003, 19:50:57
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ein Beispiel:

$arr[0]=array(10, 'Dresden', 04);
$arr[1]=array(14, 'Münster', 04);
$arr[2]=array(23, 'Aachen', 04);
$arr[3]=array(10, 'Dresden', 03);

Dann bildet man ein Array, dass wie folgt aussieht:

$arr2[0]=$arr[0].'#'.$arr[1].'#'.$arr[2];
$arr2[1]=$arr[0].'#'.$arr[1].'#'.$arr[2];
$arr2[2]=$arr[0].'#'.$arr[1].'#'.$arr[2];
$arr2[3]=$arr[0].'#'.$arr[1].'#'.$arr[2];

Das Ganze natürlich in einer Schleife.
Dieses Array kannst Du dann mit sort($arr) fein sortieren und darfst es dann wieder Feld für Feld mit explode() auseinandernehmen.

PHP-Code:
<?php
// komplettes Etwas:
$arr[0]=array(10'Dresden'04);
$arr[1]=array(14'Münster'04);
$arr[2]=array(23'Aachen'04);
$arr[3]=array(10'Dresden'03);
$arr2[0]=$arr[0][0].'#'.$arr[0][1].'#'.$arr[0][2];
$arr2[1]=$arr[1][0].'#'.$arr[1][1].'#'.$arr[1][2];
$arr2[2]=$arr[2][0].'#'.$arr[2][1].'#'.$arr[2][2];
$arr2[3]=$arr[3][0].'#'.$arr[3][1].'#'.$arr[3][2];
$arr=sort($arr2);
echo 
$arr2[0]."<br>";
echo 
$arr2[1]."<br>";
echo 
$arr2[2]."<br>";
echo 
$arr2[3]."<br>";
?>

// Ausgabe:
10#Dresden#3
10#Dresden#4
14#Münster#4
23#Aachen#4
Es wird allerdings immer nach Strings sortiert, nicht numerisch!



PS: Versuch lieber die Variante von |Coding. ;)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #8  
Alt 29.04.2003, 20:22:34
mucho mucho ist offline
Anfänger
 
Registriert seit: Apr 2003
Beiträge: 19
Danke Coding&c4 hab beide Varainten versucht...klappt nicht. Ich schreib mal den ganzen Code auf, vielleicht liegt es an was anderem:

EDITIERT

Es lag an einer veralteten Version meines Webservers. Hab es immer auf meinem Localem versucht...online geht es.

Danke...und sorry gleichzeitig


Ich hoffe es hilft...bin schon lange dran...

mfg mucho
__________________
Was man nicht aufgibt, hat man nie verloren.(Friedrich Schiller)

Geändert von mucho (06.05.2003 um 21:55:56 Uhr)
Mit Zitat antworten
  #9  
Alt 25.05.2003, 16:24:21
mucho mucho ist offline
Anfänger
 
Registriert seit: Apr 2003
Beiträge: 19
Groß- und Kleinschreibung ignorieren?

Hallo,

ich hab noch ein Problem beim Befehl array_multisort() bzeüglich der Groß- und Kleinschreibung.

Meine Frage: Wie kann man bei der Sortierung die Groß- und Kleinschreibung ignorieren lassen?

PHP-Code:
<?php 
$array
[0] = "HTF-spin";
$array[1] = "abc";
$array[2] = "HTF-span";
array_multisort($arraySORT_ASCSORT_STRING);
echo 
$array[0]."<br>".$array[1]."<br>".$array[2]."<br>";
?>
Ausgabe:
HTF-span
HTF-spin
abc

mfg mucho
__________________
Was man nicht aufgibt, hat man nie verloren.(Friedrich Schiller)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:47:29 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt