Lesen und anzeigen wenn

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Lesen und anzeigen wenn

    Hallo,

    ich bin recht neu wenns um PHP geht.
    Ich bin auch sehr schnell lern fähig.
    Evt könnt ihr mir schnell helfen bei sowas :-)

    Was ich gerne realisieren möchte ist sowas:
    Ich habe eine CSV-Datei die jede Minute abgelegt wird.

    Die so aussieht
    Code:
    "MQ";"PL.";"ART";"RVK";"TLX";"STATUS";"KAV"
    "T 03";"07.09";"381.10456";"11/01";"7308";"OK";1
    "T 22";"07.14";"54.560";"109";"8585";"Störung";1
    Ich möchte nun 10 Icons(Bilder) Fest legen und mit der CSV Datei abgleichen. Wenn Status OK ist soll von mir aus Grünes Lämpchen angezeigt werden ist nicht der Fall z.B Störung soll Rot leuchten.


    PHP-Code:
     <?PHP
    $file 
    "test.csv"
    $file_inhalt file_get_contents($file); 
    $fp fopen ($file,"r");
    fwrite($fp,$file_inhalt);
    fclose($fp); 
    echo 
    $file_inhalt;
    ?>
    So hab ich angefangen, ich hoffe ich bekomme bis zum Neujahr das hin
    Das wäre ein Super Geschenk für mich :-)

    mfg

  • #2
    Super Geschenk
    Ich kann dir das Geschenk ja mal machen, habe aber die "Anforderung", dass:
    Erstens, du versuchst das zu verstehen...
    Zweitens, du bitte ja nicht glaubst, dass hier jeder Tag Weihnachten ist.


    Aus meiner Wühlkiste, leicht um deine Leuchten erweitert:
    PHP-Code:
    <?php
    error_reporting
    (-1);
    ini_set('display_errors'TRUE);
     


    class 
    CsvIterator implements Iterator
    {
        private 
    $fh        false;
        private 
    $data      = array();
        private 
    $pos       0;
        private 
    $length    16384;
        private 
    $delimiter ',';
        private 
    $enclosure '"';

        public function 
    __construct($filename,$length=16384$delimiter=',',$enclosure='"')
        {
            
    $this->fh           fopen($filename,'r');
            if(!
    $this->fh) throw Exception("File $filename open failed!");
            
    $this->length       $length;
            
    $this->delimiter    $delimiter;
            
    $this->enclosure    $enclosure;
        }

        protected function 
    read()
        {
            
    $this->data fgetcsv($this->fh,$this->length,$this->delimiter,$this->enclosure);
        }
        
        public function 
    rewind()
        {
            
    $this->pos 0;
            
    rewind($this->fh);
            
    $this->read();
        }

        
        public function 
    current()
        {
            return 
    $this->data;
        }

        public function 
    key()
        {
            return 
    $this->pos;
        }

        public function 
    next()
        {
            
    $this->read();
            ++
    $this->pos;
        }

        public function 
    valid()
        {
            return (bool)    
    $this->data;
        }

      public function 
    __destruct()
      {
          
    fclose($this->fh);
      }


    class 
    CsvNamesFirstIterator extends CsvIterator
    {
      private 
    $names = array();
      
        public function 
    current()
        {
            return 
    array_combine($this->names,parent::current());
        }
        
        public function 
    rewind()
        {
            
    parent::rewind();
            if(!
    $this->valid()) throw new Exception("File is empty (no names found)!");
            
    $this->names parent::current();
            
    $this->next();
      }

      public function 
    key()
      {
        return 
    parent::key() - ;
      }
    }


    $leuchten             = array();
    $leuchten['OK']       = 'green,jpg';
    $leuchten['Störung']  = 'red.jpg';

    $csviterator = new CsvNamesFirstIterator('test.csv',1000,';');
    foreach(
    $csviterator as $line)
    {
      
    var_export($line);
      echo 
    $leuchten[$line['STATUS']].'<br>';
    }
    Wir werden alle sterben

    Kommentar

    Lädt...
    X