phpスクリプトを使用して、MAMPを使用してローカルOSX 10.6.7でLaTeXファイル(report.tex)を生成します(ファイルシステムはHFS +です)。次にexec()、LaTexを使用してファイルをビルドするために使用します。.texはファイルシステム上で適切に作成されますが、ファインダーやLaTexによって.texファイルとして認識されません。問題がファイル自体にあるのではなく、phpスクリプトが作成した方法にあることを確認しました。
実際、テキストエディタを使用してreport.texを作成すると、ファイルはシステムによって正しく処理され、LaTexで問題は発生しません。phpスクリプトを実行すると、同じディレクトリに同じ名前(!)の別のファイルが作成されます。内部的には、これらのファイルはまったく同じであり、16進エディタでチェックされます。ls -ls@dirで実行すると、次のようになります。
8 -rw-r--r--@ 1 tom staff 871 4 jui 12:30 report.tex
com.apple.FinderInfo 32
com.apple.TextEncoding 15
8 -rw-r--r-- 1 tom staff 805 4 jui 12:35 report.tex
最後のファイルはphpで生成されたものです。xattr -p com.apple.FinderInfo最初のファイルで実行すると、
54 45 58 54 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
そして、私が実行した場合xattr -p com.apple.TextEncoding、
UTF-8;134217984
テキストエディタを指定すると、2番目のファイルを問題なく開くことができます(このファイルは.texとして認識されませんが、最初のファイルは認識されます!)。その後、ファイルはTextWranglerで正常に表示されますが、texの構文の色付けはアクティブ化されていません(最初のファイルに対してアクティブ化され、その内容はバイト単位で同じです)。
これらの問題は、この余分な属性に関連していると確信しています。私の質問は:PHPまたはOSXで正しい動作を実現する方法はありますか?つまり、phpによって作成されたファイルは通常の.texファイルとして認識され、たとえば最初のファイルを上書きします(もちろん処理できます) LaTexによる)?
よろしく、
トム