PHPがASCIIかバイナリかどうかを素早く簡単にチェックする方法はありますか?PHPでファイルがASCIIかバイナリかをチェックする方法
答えて
これはPHP> = 5.3.0でのみ動作し、100%信頼できるわけではありませんが、かなり近いです。
// return mime type ala mimetype extension
$finfo = finfo_open(FILEINFO_MIME);
//check to see if the mime-type starts with 'text'
return substr(finfo_file($finfo, $filename), 0, 4) == 'text';
完璧な答え。 + 1 – Cosine
リンクが壊れている:http://php.net/manual/en/book.fileinfo.php –
おそらく 'if(!$ finfo){echo" fileinfoデータベースのオープンに失敗しました ";出口(); '〜'と忘れないでください: 'finfo_close($ finfo);' ... –
ASCIIは単なるテキストのエンコードであり、バイナリ表現ではありません。すべてのバイトが128未満であることを確認することもできますが、これがASCIIとしてデコードされることを保証するものではありません。すべてのあなたが知っているそれはいくつかの狂った画像形式、またはまったく別の8ビットのすべてを使用していない全く異なるテキストエンコーディングです。あなたの使用には十分かもしれません。たとえファイルが有効なASCIIであるかどうかを確認したいのであれば、それが "テキストファイル"でなくても、それは間違いありません。
あなたはおそらく、ファイルのMIMEタイプをチェックする必要がありますが、あなたはメモリにファイルをロードするために喜んでいる場合は、多分あなたは、バッファが使用するすべての-印刷可能なキャラクタで構成されてかどうかを確認することができ次のようなものです:
<?php
$probably_binary = (is_string($var) === true && ctype_print($var) === false);
完璧ではありませんが、場合によっては役立つかもしれません。
残念ながら、タブとキャリッジリターンは 'ctype_print()'をFALSEにします。 – dotancohen
- 1. WebページをリモートでチェックしてASCIIかバイナリか確認する
- 2. PHP Asciiファイルを生成しますか?
- 3. JS経由で非ASCII文字のファイル名をチェックする方法は?
- 4. PHP:クライアントがローカルかどうかをチェックする方法?
- 5. チェックボックスが存在するかどうかチェックする方法PHP
- 6. PHPで重複するファイルをチェックする方法は?
- 7. JSONオブジェクトがPHPで空であるかどうかをチェックする方法は?
- 8. ファイルがBashで空であるかどうかをチェックする方法?
- 9. PHPでポートをチェックする方法(マルチスレッド?)
- 10. phpでリンクがクリックされたかどうかをチェックする方法
- 11. ファイルに何か(数字).phpが存在するかどうかをチェックする方法?
- 12. C++ファイルが使用中であるかどうかをチェックする方法 - マルチスレッドマルチプロセスシステム
- 13. ファイルがNode.jsでバイナリまたはASCIIであることを確認しますか?
- 14. シリアルポートからPythonのファイルにASCIIデータを読み取る方法
- 15. C#FTP、パスがファイルかディレクトリかどうかをチェックする方法?
- 16. UITextFieldsが空であるかどうかをチェックする方法?
- 17. java.lang.reflect.TypeがEnumであるかどうかをチェックする方法
- 18. BINARYファイルをASCIIファイルに変換/操作する方法は?
- 19. pyqtでチェックボックスがチェックされているかどうかチェックする方法
- 20. PHPのASCIIからDECへ
- 21. PHP 5.3のWindowsバイナリでVC9ライブラリを再配布する方法
- 22. チェックボックスがチェックされているかどうかをチェックする方法
- 23. PMD - 違反チェックからファイルを除外する方法
- 24. subversion URLがファイルかsharpsvnを使用しているディレクトリであるかどうかをチェックする方法
- 25. J2MEでチェックボックスがチェックされているかチェックされていないかをチェックする方法は?
- 26. 変数が存在するかどうかをチェックし、PHPでその値を比較するクリーナーの方法?
- 27. ディレクトリがPHPで存在するかどうかをチェック
- 28. ノードがphpでxmlに存在するかどうかをチェック
- 29. PHP - $ timestampを使って、今日が月か月のどちらであるかをチェックする方法は?
- 30. ファイルから読み込まれたcharが "/ n"であるかどうかをチェックする方法は?
これは前に尋ねられていますが、私はいつも不思議です。アスキーまたはバイナリの場合はどうして気になりますか? – Pyrolistical
類似していますが、重複していません。これは、簡単で、技術的な答えを持っていますが、仮定された同一の質問はかなり困難です。ファイルがXをエンコーディングしているのか、それとも全くエンコーディングされているのかは、大きな違いがあります。 –
もう一度それを読んで、それらのタイプは例に過ぎませんでした。彼は同じことをバイナリとテキストの両方を探しています – Pyrolistical