Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Alle Schriften einlesen und im Auswahlmenü ausgeben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Alle Schriften einlesen und im Auswahlmenü ausgeben

    Hallo,

    wie kann ich alle Schriften aus einem bestimmten Ordner einlesen und in einem Auswahlmenü ausgeben?

    Bsp:
    Code:
    imagettftext($image, 20, 90, 100, 100, $schwarz, "/fonts/Gothic.ttf", $data);
    Sinn: es soll möglich sein den Text in einer bestimmten Schriftart auszugeben und das alles als dymanische Grafik zu erzeugen.

    Mit Erzeugen von dyn. grafiken klappt alles wunderbar, nur halt mit Schriftzuordnung nicht ..

    danke

  • #2
    Du kannst z.B. http://php.net/opendir und http://php.net/readdir verwenden, um alle Dateien, deren Name mit .ttf enden, zu finden.

    Oder einfacher (wenn Deine php-Version das zuläßt) per http://php.net/glob und dann http://php.net/foreach

    Kommentar


    • #3
      danke

      das habe ich bereits versucht, aber ich kriege überhaupt keine Ausgabe. weiss auch nicht warum ..

      Kommentar


      • #4
        code?

        Kommentar


        • #5
          Code:
          foreach (glob("*.ttf") as $filename) {
             echo "$filename size " . filesize($filename) . "\n";
          }
          und

          Code:
            $dir = '/fonts/';
            if (is_dir($dir)) {
             if ($dh = opendir($dir)) {
                 while (($file = readdir($dh)) !== false) {
                     echo 'filename:'. $file';
                 }
                 closedir($dh);
             }
          }

          Kommentar


          • #6
            Und was gibt
            PHP-Code:
            <?php
            ini_set
            ('display_error'true);
            $maske '*.ttf';

            echo 
            '-- Anfang der Ausgabe --'"
            \n"
            ;

            echo 
            count(glob('*')), ' Dateien insgesamt',  "
            \n"
            ;
            if(
            false===$dateien glob($maske))
                echo 
            'keine der Suchmaske entsprechenden Dateien gefunden';
            else
            {
                echo 
            count($dateien), ' Dateien entsprechen der Suchmaske',  "
            \n"
            ;
                foreach (
            $dateien as $filename)
                    echo 
            $filename' size 'filesize($filename), "
            \n"
            ;
            }
              
            echo 
            '-- Ende der Ausgabe --'"
            \n"
            ;
            ?>
            aus?

            Kommentar


            • #7
              dies hier:
              Code:
              -- Anfang der Ausgabe --
              21 Dateien insgesamt
              0 Dateien entsprechen der Suchmaske
              -- Ende der Ausgabe --
              obwohl die Schrifte drin sind .. findet er sie nicht

              Kommentar


              • #8
                na, da bist Du wohl vermutlich im falschen Verzeichnis gelandet oder die Dateinamen sind anders.
                PHP-Code:
                <?php
                ini_set
                ('display_error'true);
                function 
                printFilenames($maske)
                {
                    echo 
                '-- Anfang der Ausgabe --'"
                \n"
                ;
                    
                    if(
                false===$dateien glob($maske))
                        echo 
                'keine der Suchmaske entsprechenden Dateien gefunden',  "
                \n"
                ;
                    else
                    {
                        echo 
                count($dateien), ' Dateien entsprechen der Suchmaske',  "
                \n"
                ;
                        foreach (
                $dateien as $filename)
                            echo 
                $filename' size 'filesize($filename), "
                \n"
                ;
                    }
                  echo 
                '-- Ende der Ausgabe --'"
                \n\n\n"
                ;
                }

                echo 
                "---\n"getcwd(), "\n---\n";
                printFilenames('*');
                printFilenames('*.ttf');
                ?>

                Kommentar


                • #9
                  jetzt landet er auf C:\
                  aber warum nur?

                  Kommentar


                  • #10
                    Ich weiss ja nicht welches php-Skript Du wo wie aufrufst, aber Dein Arbeitsverzeichnis ist jedenfalls c:\ und ohne weitere Pfadangabe benutzt glob() genau dieses Verzeichnis.

                    Kommentar


                    • #11
                      ich arbeite mit xampp und das einzige was in datei steht ist dies
                      PHP-Code:
                      <?php

                      foreach (glob("*.ttf") as $filename) {
                         echo 
                      $filename;  }

                      ?>

                      Kommentar


                      • #12
                        Und Du möchstest die .ttf-Dateien, die im selben Verzeichnis wie das Skript liegen auslesen?
                        PHP-Code:
                        <?php
                        $path 
                        dirname(__FILE__);
                        $filter $path."/*.txt";
                        echo 
                        $filter": 
                        \n"
                        ;

                        if ( 
                        false!==($dateien=glob($filter)) )
                        {
                            foreach (
                        $dateien as $filename)
                                echo 
                        $filename"
                        \n"
                        ;
                        }
                        ?>
                        siehe auch:
                        http://php.net/dirname
                        http://php.net/language.constants.predefined

                        Kommentar


                        • #13
                          genau das habe ich gesucht, "dirname(__FILE__); "

                          danke dir für die Mühe

                          Kommentar

                          Lädt...
                          X