rgb192
asked on
if readable text, do something
non technical explanation:
if the characters dont have a space, it is not readable text, may be an image
problem gets more difficult, because it may be character encoding of text and image
GIF89a@„÷ÿÿÿJJMIIKÑÑÔ ‘‘“ííïïïðë ëì××ØÅÅÆ©© ªž‚ÑÒØ ½¾Ãxy}stxƒ „ˆ‚ƒ‡³´¸ðñ õíîò×Ùàðòù bcfZ[^ÛÝãØ ÚàÖØÞÔÖÜíï õstw“¶·º ©ªïðóëìïÛ ÜßØÙÜÖ×ÚÔÕ ØÏÑÖÅÇÌðò÷ ïñöëíòâäé ’–ïòøíðöŸ £QRTÔÖÚÌÎÒ jkmcdfïñõÚ ÜàØÚÞÖØÜž ðñóÀÃÈ !<=>xyzrsthij‚ƒØÙÚÔÕÖijj Ã訦œœšáá àŽ"![YRÕÓÌÌÉ¿h^BbY?©™nÔÁŽ<7)ðܦsjQªŸ›‘vìÝµÔ Ç£‰v–‚ðå Ǭ¥’xti¾¸§ ÕÑÅÓÏÄxvpð ïìIA.tS‘ƒ ^fðÙïØœ ìÕšëÔšÛÆØ ÃÖÁŒÔ¿‹³¢ u¯€[R<SK7 ×ÃðÚ¡íןã Θë՞ǵ†bY BÙÆ”ìØ£ÛÈ— ÕÔØÇšðݬí ÚªÛÊëØ©bZ GÕÅ›ìÛ¯ðß³ ëÚ¯ÚÊ¢×É¥< 8.ðá»ÚÍ«ÕÊ®âØÀÖͶîäË×ϼ„€vð é׌‚ìæ×´° ¦#<5%60"73*îêáÛØÑQNHJIGðíç¾ ½»ÛÚØØ×ÕÖÕ ÓÔÓÑsrq‚€ ÁÀ¿µ´³^]]ü üüúúúøøøöö öõõõòòòñññ ïïïíííëëëè èèäääâââÛÛ ÛØØØÖÖÖÔÔÔ ÒÒÒÑÑÑÏÏÏÌ ÌÌÈÈÈÆÆÆÅŠŶ¶¶³³³±±± ®®®¦¦¦¥¥¥¢ ¢¢žžž›› ›———••• ‰
......
note: doesnt allways begin with GIF89a
if the space to character ratio is more than 1 space to 20 characters, do something
if the characters dont have a space, it is not readable text, may be an image
problem gets more difficult, because it may be character encoding of text and image
GIF89a@„÷ÿÿÿJJMIIKÑÑÔ
......
note: doesnt allways begin with GIF89a
if the space to character ratio is more than 1 space to 20 characters, do something
ASKER
note: there is no file
the input is from an array var dump
of a broken up email
and there may be text attached to an image
i could not save
because my code editor forced me to traslitatrate
Warning: getimagesize( GIF89a@„÷ÿÿÿJJMIIKÑÑÔ ‘‘“ííïïïðë ëì××ØÅÅÆ©© ª??ž??‚ÑÒØ ½¾Ãxy}stxƒ „ˆ‚ƒ‡³´¸ðñ õíîò×Ùàðòù bcfZ[^ÛÝãØ ÚàÖØÞÔÖÜíï õstw??“¶·º ©ªïðóëìïÛ ÜßØÙÜÖ×ÚÔÕ ØÏÑÖÅÇÌðò÷ ïñöëíòâäé? ’–ïòøíðö?Ÿ £QRTÔÖÚÌÎÒ jkmcdfïñõÚ ÜàØÚÞÖØÜ?ž ðñóÀÃÈ !<=>xyzrsthij?‚ƒØÙÚÔÕÖijj Ã訦œœšáá à??Ž"![YRÕÓÌÌÉ¿h^BbY?©™nÔÁŽ<7)ðܦsjQªŸ?›‘vìÝµÔ Ç£?‰v?–‚ðå Ǭ¥’xti¾¸§ ÕÑÅÓÏÄxvpð ïìIA.?tS‘ƒ ^??fðÙ?ïØœ ìÕšëÔšÛÆ?Ø Ã?ÖÁŒÔ¿‹³¢ u¯€[R<SK7 ×Ã?ðÚ¡íןã Θë՞ǵ†bY BÙÆ”ìØ£ÛÈ— ÕÔØÇšðݬí ÚªÛÊ?ëØ©bZ GÕÅ›ìÛ¯ðß³ ëÚ¯ÚÊ¢×É¥< 8.ðá»ÚÍ«ÕÊ®âØÀÖͶîäË×ϼ„€vð é×?Œ‚ìæ×´° ¦#<5%60"73*îêáÛØÑQNHJIGðíç¾ ½»ÛÚØØ×ÕÖÕ ÓÔÓÑsrq‚?€ ÁÀ¿µ´³^]]ü üüúúúøøøöö öõõõòòòñññ ïïïíííëëëè èèäääâââÛÛ ÛØØØÖÖÖÔÔÔ ÒÒÒÑÑÑÏÏÏÌ ÌÌÈÈÈÆÆÆÅŠŶ¶¶³³³±±± ®®®¦¦¦¥¥¥¢ ¢¢žžž???›› ›———•••??? ‰ ) [function.getimagesize]: failed to open stream: No error in on line 5
the input is from an array var dump
of a broken up email
and there may be text attached to an image
i could not save
GIF89a@„÷ÿÿÿJJMIIKÑÑÔ‘‘“ííïïïðëëì××ØÅÅÆ©©ªž‚ÑÒؽ¾Ãxy}stxƒ„ˆ‚ƒ‡³´¸ðñõíîò×ÙàðòùbcfZ[^ÛÝãØÚàÖØÞÔÖÜíïõstw“¶·º©ªïðóëìïÛÜßØÙÜÖ×ÚÔÕØÏÑÖÅÇÌðò÷ïñöëíòâäé’–ïòøíðöŸ£QRTÔÖÚÌÎÒjkmcdfïñõÚÜàØÚÞÖØÜž ðñóÀÃÈ !<=>xyzrsthij‚ƒØÙÚÔÕÖijjÂÃ訦œœšááàŽ"![YRÕÓÌÌÉ¿h^BbY?©™nÔÁŽ<7)ðܦsjQªŸ›‘vìݵÔÇ£‰v–‚ðåǬ¥’xti¾¸§ÕÑÅÓÏÄxvpðïìIA.tS‘ƒ^fðÙïØœìÕšëÔšÛÆØÃÖÁŒÔ¿‹³¢u¯€[R<SK7×ÃðÚ¡íןãΘë՞ǵ†bYBÙÆ”ìØ£ÛÈ—ÕÔØÇšðݬíÚªÛÊëØ©bZGÕÅ›ìÛ¯ðß³ëÚ¯ÚÊ¢×É¥<8.ðá»ÚÍ«ÕÊ®âØÀÖͶîäË×ϼ„€vðé׌‚ìæ×´°¦#<5%60"73*îêáÛØÑQNHJIGðíç¾½»ÛÚØØ×ÕÖÕÓÔÓÑsrq‚€ÁÀ¿µ´³^]]üüüúúúøøøöööõõõòòòñññïïïíííëëëèèèäääâââÛÛÛØØØÖÖÖÔÔÔÒÒÒÑÑÑÏÏÏÌÌÌÈÈÈÆÆÆÅÅŶ¶¶³³³±±±®®®¦¦¦¥¥¥¢¢¢žžž›››———•••‰
because my code editor forced me to traslitatrate
<?php
$filename='
GIF89a@„÷ÿÿÿJJMIIKÑÑÔ‘‘“ííïïïðëëì××ØÅÅÆ©©ª??ž??‚ÑÒؽ¾Ãxy}stxƒ„ˆ‚ƒ‡³´¸ðñõíîò×ÙàðòùbcfZ[^ÛÝãØÚàÖØÞÔÖÜíïõstw??“¶·º©ªïðóëìïÛÜßØÙÜÖ×ÚÔÕØÏÑÖÅÇÌðò÷ïñöëíòâäé?’–ïòøíðö?Ÿ£QRTÔÖÚÌÎÒjkmcdfïñõÚÜàØÚÞÖØÜ?ž ðñóÀÃÈ !<=>xyzrsthij?‚ƒØÙÚÔÕÖijjÂÃ訦œœšááà??Ž"![YRÕÓÌÌÉ¿h^BbY?©™nÔÁŽ<7)ðܦsjQªŸ?›‘vìݵÔÇ£?‰v?–‚ðåǬ¥’xti¾¸§ÕÑÅÓÏÄxvpðïìIA.?tS‘ƒ^??fðÙ?ïØœìÕšëÔšÛÆ?ØÃ?ÖÁŒÔ¿‹³¢u¯€[R<SK7×Ã?ðÚ¡íןãΘë՞ǵ†bYBÙÆ”ìØ£ÛÈ—ÕÔØÇšðݬíÚªÛÊ?ëØ©bZGÕÅ›ìÛ¯ðß³ëÚ¯ÚÊ¢×É¥<8.ðá»ÚÍ«ÕÊ®âØÀÖͶîäË×ϼ„€vðé×?Œ‚ìæ×´°¦#<5%60"73*îêáÛØÑQNHJIGðíç¾½»ÛÚØØ×ÕÖÕÓÔÓÑsrq‚?€ÁÀ¿µ´³^]]üüüúúúøøøöööõõõòòòñññïïïíííëëëèèèäääâââÛÛÛØØØÖÖÖÔÔÔÒÒÒÑÑÑÏÏÏÌÌÌÈÈÈÆÆÆÅÅŶ¶¶³³³±±±®®®¦¦¦¥¥¥¢¢¢žžž???›››———•••???‰
';
if( ($size = getimagesize($filename)) !== false )
{
// $filename is an image
}
else
{
// $filename is not an image
}
Warning: getimagesize( GIF89a@„÷ÿÿÿJJMIIKÑÑÔ
You would need to save it to a temporary file to do this.
$tempfile = tempnam();
file_put_contents($tempfil e,"GIF89.. .");
if( ($size = getimagesize($tempfile)) !== false )
{
}
else
{
}
unlink($tempfile);
$tempfile = tempnam();
file_put_contents($tempfil
if( ($size = getimagesize($tempfile)) !== false )
{
}
else
{
}
unlink($tempfile);
ASKER
$filename='C:/Mail-Backup/2013/1/24/655902028-22789.eml';
if( ($size = getimagesize($filename)) !== false )
{
// $filename is an image
echo 'image';
}
else
{
// $filename is not an image
echo 'not';
}
output is
not image
but the .eml file has an image in it
I am using
http://www.phpclasses.org/package/3169-PHP-Decode-MIME-e-mail-messages.html
(please dont comment too much about the mime parser class, which sometimes does not function properly because I am only a beginner)
and I am not looking for a image
I am looking when a body is not readable
and when body is many special characters because there is an image
so, I would like to look at a small block of text and say, this text is not readable, do something else
for example
(if $text is readable){
echo text
}else{
do something else
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
thanks for the detailed explanation about file types
now I will look at email files more closely (for viruses)
now I will look at email files more closely (for viruses)
There's something called "MIME Magic" that will examine the first few bytes of a file and try to detect what kind of file it is (every file format has a "signature"). PHP has a mime_content_type() function for doing this for you.
If it's always either an image or text, you could also use the getimagesize() function:
if( ($size = getimagesize($filename)) !== false )
{
// $filename is an image
}
else
{
// $filename is not an image
}