質問: new finfo(FILEINFO_MIME_TYPE); var_dump( $finfo->file($file_tmp_path) ); ``` バイナリデータではないのでxmlとしてチェックする方法や、 finfo以外で、何かよい方法はないでしょうか?
回答: 「正しいSVG」が何を指すかによりますが、文法的にvalidかどうかの判定はかなり難しいかと思います。svg画像である可能性が高いか(ファイルがSVGっぽいか)だけの判定であれば、 ``` ``` の文字列が含まれているかのチェックでどうでしょうか。 表示できるかを確認したい場合はlibrsvg2対応のImageMagickなどを使ってpngなどに変換したときにエラーになるかの判定をするというのも考えられます。