(PECL bcompiler >= 0.4)
bcompiler_write_exe_footer — Écrit à la position start et jusqu'à la fin du fichier de type exe
$filehandle
, int $startpos
)Un fichier exe (ou auto-exécutable) est composé de trois parties :
Pour obtenir un stub approprié, vous pouvez compiler le stub php_embed-based phpe.c qui se trouve dans le dossier examples/embed sur le CVS de bcompiler.
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemple #1 Exemple avec bcompiler_write_exe_footer()
<?php
/* Création du fichier de sortie (example.exe) */
$fh = fopen("example.exe", "w");
/* 1) Écriture d'un stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);
/* 2) Écriture du bytecode */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "myclass");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);
/* 3) Écriture du footer EXE */
bcompiler_write_exe_footer($fh, $startpos);
/* Fermeture du fichier de sortie */
fclose($fh);
?>
Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.