bcompiler_write_exe_footer
(PECL bcompiler >= 0.4)
bcompiler_write_exe_footer — Écrit à la position start et jusqu'à la fin du fichier de type exe
Description
$filehandle
, int $startpos
)Un fichier exe (ou auto-exécutable) est composé de trois parties :
- Le stub (le programme compilé) qui charge PHP et l'extension bcompiler, stocke le bytecode et initialise un appel à la fonction spécifique (e.g. main) ou une méthode d'une classe (i.e. main::main)
- Le bytecode (uniquement décompressé pour le moment)
- Le footer EXE bcompiler
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.
Liste de paramètres
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemples
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); ?>
Notes
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.
Voir aussi
- bcompiler_write_header() - Écrit l'en-tête bcompiler
- bcompiler_write_class() - Écrit une classe définie en bytecode
- bcompiler_write_footer() - Écrit le caractère \x00 pour indiquer la fin des données compilées