Login   Register  
PHP Classes
elePHPant
Icontem

File: example04.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of zandor  >  CFile  >  example04.php  >  Download  
File: example04.php
Role: Example script
Content type: text/plain
Description: reading some fields in the JPEG header
Class: CFile
Read and write values to binary files
Author: By
Last change:
Date: 3 years ago
Size: 2,915 bytes
 

Contents

Class file image Download
<?php
      
echo "<b>EXAMPLE 04</b>: we read some fields in the JPEG header<br><br>" ;
?>
We refer to this JFIF header structure in C.
<pre>
typedef struct _JFIFHeader
{
  BYTE SOI[2];          /* 00h  Start of Image Marker     */
  BYTE APP0[2];         /* 02h  Application Use Marker    */
  BYTE Length[2];       /* 04h  Length of APP0 Field      */
  BYTE Identifier[5];   /* 06h  "JFIF" (zero terminated) Id String */
  BYTE Version[2];      /* 07h  JFIF Format Revision      */
  BYTE Units;           /* 09h  Units used for Resolution */
  BYTE Xdensity[2];     /* 0Ah  Horizontal Resolution     */
  BYTE Ydensity[2];     /* 0Ch  Vertical Resolution       */
  BYTE XThumbnail;      /* 0Eh  Horizontal Pixel Count    */
  BYTE YThumbnail;      /* 0Fh  Vertical Pixel Count      */

} JFIFHEAD;
</pre>
<?php // example 01 : simple open and close
      
require_once( "cfile.class.php" );
      
      
$CANDIDATEfile "andromeda.jpg" ;
      
      
$cfile = new cfile$CANDIDATEfile );
      
$bOPEN $cfile->openCFILE_READ_MODE );
      
$bERR $cfile->is_error() ;
      
      if ( 
$bOPEN && !$bERR // you can check open return value or internal error for safe operation
      
{
           echo 
"OPEN FILE <b>$CANDIDATEfile</b> : SUCCESS<br>" ;
           
           echo 
"FILE SIZE.".( filesize$CANDIDATEfile ) )."<br>" ;
           
           
$bBEGIN $cfile->move_to_beginning();
           echo ( 
$bBEGIN ) ? "OK MOVE TO BEGINNING ...<br>" "CAN'T MOVE TO THE BEGINNING ...<br>" ;
           
           
$nbytes // Start of Image Marker
           
$READ $cfile->read$nbytesCFILE_BINARY_INT_MODE ) ;
           
           
$nbytes // Application Use Marker
           
$READ $cfile->read$nbytesCFILE_BINARY_INT_MODE ) ;

           
$nbytes // Length of APP0 Field
           
$READ $cfile->read$nbytesCFILE_BINARY_INT_MODE ) ;

           
$nbytes // IDENTIFIER JFIF
           
$READ $cfile->read$nbytesCFILE_TEXT_MODE ) ;
           echo ( 
$READ === false ) ? "CAN'T READ from file ... <b>".$cfile->get_error_string()."</b><br>" "JFIF IDENTIFIER:<b>$READ</b><br>" ;

           
$nbytes // MAJOR VERSION JFIF
           
$READ $cfile->read$nbytesCFILE_BINARY_INT_MODE ) ;
           echo ( 
$READ === false ) ? "CAN'T READ from file ... <b>".$cfile->get_error_string()."</b><br>" "MAJOR VERSION:<b>$READ</b><br>" ;

           
$nbytes // MINOR VERSION JFIF
           
$READ $cfile->read$nbytesCFILE_BINARY_INT_MODE ) ;
           echo ( 
$READ === false ) ? "CAN'T READ from file ... <b>".$cfile->get_error_string()."</b><br>" "MINOR VERSION:<b>$READ</b><br>" ;

           echo 
"<br>" ;
           echo ( 
$cfile->close() ) ? "CLOSE FILE <b>$CANDIDATEfile</b> : SUCCESS" $cfile->get_error_string() ;
      }
      else echo 
$cfile->get_error_string() ;
?>