bcompiler_write_exe_footer
(PECL)
bcompiler_write_exe_footer -- Writes the start pos, and sig to the end of a exe type file
Description
bool
bcompiler_write_exe_footer ( resource filehandle, int startpos )
An EXE (or self executable) file consists of 3 parts:
The stub (executable code, e.g. a compiled C program) that loads PHP
interpreter, bcompiler extension, stored Bytecodes and initiates a call
for the specified function (e.g. main) or class method (e.g. main::main)
|
The Bytecodes (uncompressed only for the moment) |
The bcompiler EXE footer |
To obtain a suitable stub you can compile php_embed-based stub phpe.c
located in the examples/embed directory on bcompiler's CVS.
Parameters
filehandle
A file handle as returned by fopen().
startpos
The file position at which the Bytecodes start, and can be obtained
using ftell().
Return Values
Returns TRUE on success or FALSE on failure.
Examples
Example 1. bcompiler_write_footer() example
<?php
/* creating the output file (example.exe) */ $fh = fopen("example.exe", "w");
/* 1) writing a stub (phpe.exe) */ $size = filesize("phpe.exe"); $fr = fopen("phpe.exe", "r"); fwrite($fh, fread($fr, $size), $size); $startpos = ftell($fh);
/* 2) writing bytecodes */ bcompiler_write_header($fh); bcompiler_write_class($fh, "myclass"); bcompiler_write_function($fh, "main"); bcompiler_write_footer($fh);
/* 3) writing EXE footer */ bcompiler_write_exe_footer($fh, $startpos);
/* closing the output file */ fclose($fh); ?>
|
|
Notes
Warning |
This function is
EXPERIMENTAL. The behaviour of this function, the
name of this function, and anything else documented about this
function may change without notice in a future release of PHP.
Use this function at your own risk. |