2011-08-08 4 views
2

入力ファイルからファイルを見つけるスクリプトを作成しています(今はjpgで作業しています)。PHP STRPOS関数のゼロを無視しないようにします

私は共通のファイルヘッダー/トレイラー/構造を使用して、抽出する必要があるデータを見つけます。私はSTRPOSを使用してこれらの共通点を見つけ、残りのデータなどからコピーする必要があるファイルの部分を見つけます。

とにかく、私は問題に遭遇しています、STRPOSは文字列、 "FFD9" ...しかし、それは間違った位置にそれを見つけることです!例えば

、私のJPGファイルの私の六角のような見え、

Wrong String!

はゼロの両側にFFとD9を参照してください? STRPOSはその間に00を無視しているようです!スクリプトが正常に動作するのを止めるには、これが必要です。

アイデアや提案はありますか?どうもありがとうございました!

+0

いくつかのコードを投稿できますか? – nobody

+0

確かに! - http://stackoverflow.com/questions/6740268/test-php-carve-for-jpg-files – Shawn

答えて

2

バイナリデータに文字列関数を使用しないでください。 unpackの機能を見てください。

+1

彼の入力例は16進エディタで撮影されたスクリーンショットであるように見えますので、* actual * input ; 'unpack'は間違いなく良い方法ですが、入力が悪い場合は助けになりません。 – Rob

+2

実際に[strpos](http://php.net/manual/en/function.strpos.php)**は**バイナリセーフです。マニュアルの注記を参照してください。 – nobody

+0

ねえ、これは私が取り組んでいるものです。私はいくつかの情報を持っているので、明日これをさらに見ていきます。助けてくれてありがとう!私は明日の開梱を検討します。 http://stackoverflow.com/questions/6740268/test-php-carve-for-jpg-files – Shawn

関連する問題