Manual de PHP
Referencia de funciones
Afecta el comportamiento de PHP
bcompiler
Funciones de bcompiler
bcompiler_write_exe_footer
bcompiler_write_exe_footer
(PECL bcompiler >= 0.4)
bcompiler_write_exe_footer — Escribe la posición de inicio y la firma al final de un archivo de tipo exe
Descripción
bool bcompiler_write_exe_footer
( resource
$filehandle
, int $startpos
)Un archivo EXE (o auto-ejecutable) consiste en 3 partes:
- El stub (código ejecutable, p.ej. un programa compilado en C) que carga el intérprete de PHP, la extensión de bcompiler, el Códogo de Bytes almacenado e inicia una llamada a la función (p.ej. main) o método de clase (p.ej. main::main) especificados.
- El Código de Bytes (sin comprimir sólo por el momento)
- El pie EXE de bcompiler
Para obtener un stub apropiado se puede compilar el stub basado en php embebido phpe.c ubicado en el directorio examples/embed del CVS de bcompiler.
Parámetros
Valores devueltos
Devuelve TRUE en caso de éxito o FALSE en caso de error.
Ejemplos
Ejemplo #1 Ejemplo de bcompiler_write_exe_footer()
<?php
/* crear el archivo de salida (ejemplo.exe) */
$fh = fopen("ejemplo.exe", "w");
/* 1) escribir un stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);
/* 2) escribir el código de bytes */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "miclase");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);
/* 3) escribir el pie del EXE */
bcompiler_write_exe_footer($fh, $startpos);
/* cerrar el archivo de salida */
fclose($fh);
?>
Notas
Advertencia
Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.
Ver también
- bcompiler_write_header() - Escribe la cabecera de bcompiler
- bcompiler_write_class() - Escribe una clase definida como código de bytes
- bcompiler_write_footer() - Escribe el carácter \x00 para indicar el Final de los datos compilados