Ich habe ein PHP-Programm, das einen Ordner mit dem Namen output
(der alle Bilddateien in einem beliebigen Format enthält) für Bilder scannt. Die Bilddateien sind die Screenshots der Ausgabe im Terminal (ich verwende Linux) verschiedener Java-Programme. Die Bilddateien werden nach dem Klassennamen benannt, in dem sich die main()
-Funktion befindet. Wenn also beispielsweise die main()
-Funktion in der öffentlichen Example
-Klasse enthalten ist, wird das Ausgabebild mit dem Namen Example
mit der Erweiterung .jpg
, .jpeg
, .png
oder .gif
benannt. Das PHP-Programm hat eine Titelseite, die nach Java-Dateien sucht und sie in einer ungeordneten Liste mit Links auflistet, auf die der Benutzer klicken kann, um auf die nächste Seite zu gelangen. Die nächste Seite liest die jeweilige Datei und zeigt den Quellcode zusammen mit dem Screenshot der Ausgabe an. Nun, da ich bin mit Fedora und Fedora nimmt Screenshots in png
Format, das ist ganz einfach, wie:Wie lade ich ein Bild, das mit einer beliebigen Dateityperweiterung in PHP endet, mit Regular Expressions?
echo '<img src="' . $file_name . '".png>'
Aber was, wenn jemand lädt ein Java-Programm mit dem Ausgang Screenshot in einem beliebigen Format? (jpg
, jpeg
, png
, gif
). Wie lade ich dann die entsprechende Bilddatei, da ich nicht weiß, wie die Erweiterung sein wird?
Ich habe eine Antwort foreach
Schleife zu verwenden und jede Bilddatei dort im Ausgabeordner ist durchlesen und dann eine if
Bedingung verwenden Sie die entsprechenden Dateinamen mit den verschiedenen Erweiterungen für die Kontrolle, aber ich denke, es ist nicht sehr gut sein wird Programmierpraxis.
Ich versuche generell, Bedingungen zu vermeiden, während Programmierung und Verwendung mathematischer Ansatz Ursache, dass gibt mir die Herausforderung, die ich brauche, und ich fühle meinen Code sieht anders und einzigartig im Vergleich zu anderen, aber ich scheint es diesmal nicht funktionieren .
Ich fühle, dass dies mit regulären Ausdrücken getan werden kann, aber ich weiß nicht, wie es geht. Ich kenne reguläre Ausdrücke, aber ich habe keine Ahnung, wie man sie benutzt. Jede Antwort, die nicht regulär verwendet wird, wird geschätzt, aber ich möchte dies mit regulären Ausdrücken machen, weil ich auf diese Weise auch ein wenig Wissen zu meinen regulären Ausdruckskonzepten hinzufügen werde.
Danke.
Warum Ausgaben als Screenshot gespeichert werden * (und als Text notieren) *? Was für eine verrückte Idee! Warum weißt du nicht, was die Erweiterung ist? –
Da jeder eine Quelldatei für jede Sprache hinzufügen kann, wird die Ausgabe auch in einer Bilddatei gespeichert, die eine beliebige Erweiterung haben kann. –