Php $variable als (css) Button ausgeben

antianti2015

Grünschnabel
Hallo!
Ich habe jetzt lange rumgelesen aber leider nichts passendes gefunden.
Ich möchte die Verzeichnisse/Dateien die mir ausgegeben werden als klickbare Buttons ausgeben, ist die möglich?

PHP:
<?php
if ($handle = opendir('./')) {
   while (false !== ($file = readdir($handle)))
      {
          if ($file != "." && $file != ".." && $file !="datei1.php" && $file !="datei2.php")
      {
              $thelist .= '<a href="./'.$file.'" target="_blank">'.$file.'</a><br>';
          }
       }
  closedir($handle);
  }
?>
<P><?=$thelist?></p>
 
Hi

soll der Button beim Klicken auch wie ein Link wirken usw.?
Bzw. weißt du evt. auch schon, wie ein vollständiger Button im HTML-Code dann ausschauen soll?
 
Hallo,
Das ist doch jetzt aber keine php-Frage oder?
Für mich sieht das eher nach einer reinen CSS-Frage aus?

Grüße

PS: In deinem Php wechselst du die Art des Php Aufrufs. Besser du entscheidest dich für eine Art.
Ich bleib eigentlich immer beim traditionellen. Dann funktioniert der Code auch auf Servern die Shorthandcode ausgeschaltet haben.
Auch beim HTML hat sich ein kleiner Fehler eingeschlichen. Besser immer die Elemente klein schreiben.
 
(Es ist insofern eine PHP-Frage, als dass der HTML-Code per PHP generiert wird, aber letztlich stimmt es, dass die eigentliche inhaltliche Absicht (Wahl welches HTML-Elements bzw. welcher CSS-Stile, also die Semantik) eher nicht in den Programmierbereich fällt. Ich hatte in einem anderen Forum zu dieser Frage das HTML-Element button verlinkt, ohne aber auch genau den inhaltlichen Sinn zu sehen. Einfach die Frage „wörtlich“ beantwortet. Da müsste der Threadersteller noch mal klarer seine Intention nennen. ;))

Ich bleib eigentlich immer beim traditionellen. Dann funktioniert der Code auch auf Servern die Shorthandcode ausgeschaltet haben.

Zur Klärung: Das meint, nur <?php und <?= (Äquivalent zu <?php echo) zu nutzen, aber auf <? zu verzichten. <?php und <?= sind immer verfügbar, <? nur bei einer besimmten Konfigurationseinstellung.

- http://php.net/manual/en/ini.core.php#ini.short-open-tag

Edit: Oh, mit anderen Worten: Das ist schon okay so, wie es ist, weil <? nicht genutzt wird. :)

Edit 2: Technisch gesehen müsste man die Dateinamen escapen (htmlspecialchars), aber das ist nicht so wirklich das vordergründigste Problem.
 
Zuletzt bearbeitet:
Zurück