• 締切済み

正規表現を使ったファイルタイプの抜き出し

お疲れ様です。 いつもお世話になっております。 携帯で画像を添付してメールを送る メールを受け取って添付ファイルを保存。 このスクリプトを組んでいるのですが、携帯のキャリアによって、 ファイルのヘッダーが違ってきます。 -------------------------------------------------ここからau -------=_NextPart_46596_11396_41732 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit -------=_NextPart_46596_11396_41732 Content-Type: image/jpeg; name="************.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="*********.jpg" --------------------------------------------------auここまで ------------------------------------------------ここからdocomo --mimemk00 Content-Type: image/jpeg; name="***********.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="***********.jpg" ------------------------------------------------docomoここまで eregi("Content-type: *([^;\n]+)", $file_head, $filetype) それぞれのファイルタイプは array(2) { [0]=> string(24) "Content-Type: text/plain" [1]=> string(10) "text/plain" } array(2) { [0]=> string(24) "Content-Type: image/jpeg" [1]=> string(10) "image/jpeg" } と入ります。 auはeregiが最初に一致した時点で処理を抜け、本来とりたいimage/jpegが取れないでいます。 これをdocomoと同じ処理で取れるようにしたいのですが、どうしたらいいでしょうか? よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

複数のcontent(multi)を想定して配列を用意してそれにつっこんで後から調べたら良いんじゃないかな

関連するQ&A

  • gmailからwillcomへのemailにおける文字列について

    gmailからwillcomへメールを送ると本文の前に文字列が出るのですがこれはどうすれば消すことができるのでしょうか? gmailからwillcom、willcomからgmailに送ったtestとのみ入力した文章をコピーします。 ------=_Part_18502_15771748.1167620538812 Content-Type: text/plain; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline test ------=_Part_18502_15771748.1167620538812 Content-Type: text/html Content-Transfer-Encoding: 7bit Content-Disposition: inline test ------=_Part_18502_15771748.1167620538812-- ここの ------=_Part_18502_15771748.1167620538812 Content-Type: text/plain; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline という部分です。 これを抜いてtestという文章だけをメール送信するにはどうすればよいのでしょうか?

  • PC→携帯に送ると出るメッセージ(?)

    たとえば、PC→携帯に送るとき、本文に『あ』と書いて送るとします。 そうすると、 This is a multi-part message in MIME format. ------=_NextPart<___> Content-Type: text/plain Content-Transfer-Encoding: 7bit あ ------=_NextPart<___> Content-Type: text/html Content-Transfer-Encoding: quoted-printable ~~~ *省略 ~~~ *個人情報が書かれているかもしれないので、省略します、必要だったらいってください。 また、個人情報があるかもしれないので数字などは<>としました。 これは一体何なんでしょうか? また、でなくするにはどうすればいいのでしょうか? よろしくお願いします。

  • メールのヘッダーの文字の変換について

    はじめまして。 Outlook Expressで受信したメールを右クリックでプロバティ→詳細→メッセージのソースと進んでいくと最初のほうに通ってきたサーバ名等の情報がかかれたものが出てくると思いますがある地点より下を見て行くとBASE64(?)といわれている文字がたくさん出てくると思いますUEsDBAoAAAAAAKo4kjCjiB3egHMAAIBzAABXAAAAZGF0YS5ydGYgICAgICAgICAgICAgICAg こんな文字なんですけど、、これを変換する方法またはソフトを教えてください。 いろんなソフトを使うのですがなかなか変換できないのです。 This is a multi-part message in MIME format. ------=_NextPart_000_0016----=_NextPart_000_0016 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit Your file is attached. ------=_NextPart_000_0016----=_NextPart_000_0016 Content-Type: application/octet-stream; name="product.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="product.zip" UEsDBAoAAAAAAKo4kjCjiB3egHMAAIBzAABXAAAAZGF0YS5ydGYgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAuc2NyTVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAYAAAAA4fug4AtAnNIbgBTM0hV2luZG93cyBQcm9ncmFtDQokUEUA AEwBAwAAAAAAAAAAAAAAAADgAA8BCwEAAAAEAAAAcgAAAAAAAAAgAQAAEAAAACAAAAAAQAAA EAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAMAEAAAQAAAAAAAACAAAAAAAQAAAQAAAAABAAABAA (以下続きます…) これなんですけどできるでしょうか? 困っているので助けてください。長くなりましたがよろしくおねがいします。

  • linuxで、sendmail.cfファイルの設定について

    linuxで、sendmail.cfファイルの設定について 「Content-Transfer-Encoding」、「Content-Type: Text/Plain; charset=iso-2022-jp」というような項目を設定できますか。

  • 携帯から送信された画像データを保存したい

    携帯電話よりメールに添付されたデータをサーバより取出して○○○.jpgとして 保存したいです。(今現在サーバ接続し、画像データらしきものを切り分けするとこまで出来てるのですが、現状のデータのまま保存してもうまく画像として開けません) なにか変換して保存が必要なのでしょうか? ↓現在切り分けした画像データの最初の部分 --XA33MOXv Content-Type: image/jpeg; name="F1011588.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="F1011588.jpg" /9j/4QO8RXhpZgAATU0AKgAAAAgADAEOAAIAAAANAAAAngEPAAIAAAAHAAAArAEQAAIAAAAFAAAA tAESAAMAAAABAAEAAAEaAAUAAAABAAAAugEbAAUAAAABAAAAwgEoAAMAAAABAAIAAAExAAIAAAAN

    • ベストアンサー
    • PHP
  • Perlでメール本文と添付ファイルを切り分ける方法?

    perlでメールを受信して、添付ファイル部分をファイルにするスクリプトを書こうとしているのですが 知識がなく進めません。 単なるメールの受信は Mail::POP3Clientを使えば、簡単に出来ましたが BODY部で、本文と 添付ファイルを区別して 本文には $honbun 添付ファイル @tenpu({-fname=>ファイル名, -content=>中身ファイル}, ... という風に、簡単にメールボディ部を切り分ける方法やモジュールはあるのでしょうか? 例) This is a multi-part message in MIME format.------=_NextPart_000_000F_01C59927.53E8 B0E0Content-Type: text/plain; format=flowed; charset="iso-2022-jp"; reply-type= originalContent-Transfer-Encoding: 7bit------=_NextPart_000_000F_01C59927.53E8B0E0C ontent-Type: application/octet-stream; name="Tk-800.024.tar.gz"Content-Transfer-En coding: base64Content-Disposition: attachment; filename="Tk-800.024.tar.gz"H4sICBX bhDwCA1RrODAwLjAyNC50YXIA7DxrV9vIkvka/Yq6xBvLQX7ySnDCxRgTvAs2i0weJx ...

    • ベストアンサー
    • Perl
  • sendmail でのヘッダ部分Content-Transfer-Encodingについて

    あまりPerlに精通しておりませんが、よろしくお願いします。 Perl でフォームからメールを送信するページを作成しましたが、メールヘッダの部分に --------------- print OUT "Content-Type: text/plain; charset=iso-2022-jp\n"; print OUT "Content-Transfer-Encoding: 7bit\n"; print OUT "MIME-Version: 1.0\n"; --------------- という風に書いているのに、届くメールは Content-Type: text/plain; charset=iso-2022-jp MIME-Version: 1.0 になって、Content-Transfer-Encoding: 7bit が抜け落ちます。(場合によっては、Content-Transfer-Encoding: base64 になる) どういった原因が考えられるか、アドバイスいただければ幸いです。よろしくお願いします。

    • ベストアンサー
    • Perl
  • メールの添付ファイルが認識されない。

    メールに添付ファイル(jpeg)を付けて、(auの)携帯へ送信すると、受信した携帯でヘッダ部分がそのまま展開(添付ファイルのデータがMIMEでそそまま表示)されてしまう事態になってしまいます。 PCのMUAでは添付ファイルとして認識されています。 携帯に送る際はなにか特別なことをする必要があるのでしょうか? 添付のヘッダは、 1.添付ファイルを読み込んでMIMEに変換する。 2.ヘッダの最後に、 --境界  Content-Type: image/jpeg; name="file"  Content-Transfer-Encoding: base64  Content-Disposition: attachment; filename="file"  添付ファイルのMIME を追加する。 3.mail()の第4引数に作ったヘッダを放り込む。 このようなステップで送信しています。

    • ベストアンサー
    • PHP
  • OUTLOOK添付がテキスト形式に

    受け取ったメールが下記のようになります。 StuffitExpanderをインストールして変換可能なのですが、ユーザから変換ソフトを使用せず、OutLookで添付形式にならないかと言われました。 ご存知の方いらっしゃいますか? >--============_-1297005276==_============ >Content-Id: <v04010103b2b144e77764@nsv1.tiara.or.jp.0.0> >Content-Type: image/jpeg; name="jouhou7.jpg" > ; x-mac-type="4A504547" > ; x-mac-creator="3842494D" >Content-Disposition: attachment; filename="jouhou7.jpg" >Content-Transfer-Encoding: base64 > >/9j/4AAQSkZJRgABAgEASABIAAD/7RgkUGhvdG9zaG9wIDMuMAA4QklNA+kAAAAAAHgA >KAAAAEgASAAAAAACQQMY//f/9wJKA0AgAAV7A+AAAAAAAWgBaAAAAAALRQ94AAgLRQAy >WigAUAABAQECAAABAAEAAQABDiyelAAAAAAAAAAAAAAAAAAAAAAAAQBkAAAAAAAAAAAA >AECwBAAiAAIIAAAAADVUYSA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQN

  • これはウイルスですか?

    怪しかったのですが、間違って開けてしまいました。 Webメールの本文は Content-Type:text/plain; Content-Transfer-Encoding: 78Bit human でした。まだ特に怪しい動きはないですが、これはウイルスめーるでしょうか? ちなみに私はMacです。

専門家に質問してみよう