Symfony2 - Wie überprüft man, ob es sich bei der hochgeladenen Datei um eine tex-Datei (LaTex) handelt

8

Ich habe eine Datei-Upload-Funktion in meinem Symfony2-Projekt und ich möchte überprüfen, ob die hochgeladene Datei ein .tex Dateiformat = & gt; LaTex-Datei. Für Text / HTML verwende ich:

%Vor%

Ich versuche es:

%Vor%

Aber sobald ich eine .tex Datei hochlade, bekomme ich die Nachricht:

%Vor%

Wie kann ich Tex-Dateien auch hier hinzufügen? Danke.

    
Miloš 02.12.2013, 15:21
quelle

3 Antworten

5

Ich denke, dass die gleichen Prinzipien der Bildvalidierung hier angewendet werden können. Es ist unzuverlässig, MIME-Typen zu vertrauen, da der Benutzer php executable innerhalb von image/jpeg anpflanzen könnte.

Für die Bilder kann dies mit getimagesize() function überprüft werden. Wie für die LaTeX benötigen Sie einige 3rd-Party-lib, was versuchen wird, hochgeladene Datei zu öffnen und die Ausnahme bei Fehler (ungültiges Dateiformat, ungültiger Ausdruck, etc ...) zu werfen.

Vielleicht dieser: PHPLatex ?

Auch, welchen Mime-Typ hast du bekommen, als du versucht hast, eine Datei hochzuladen? (@ Ahmeds Idee)

    
Jovan Perovic 06.12.2013, 14:09
quelle
2

Wenn der einreichende Kunde nicht weiß, dass tex-Dateien als application / x-tex registriert sind, glaube ich, dass der Client dann nicht als solcher gesendet wird.

Können Sie nach der \documentclass -Direktive im Stream suchen? Alternativ, wenn Sie die Kontrolle über die Client-Maschinen haben, z.B. Können Sie bei der Arbeit oder an der Universität die Mime-Typen registrieren lassen?

    
Spangen 08.12.2013 22:14
quelle
0

Ich glaube, du musst die application/x-latex Mimik verwenden. Geben Sie ein.

    
Ahmed Siouani 02.12.2013 15:25
quelle