PHP позволяет создавать файлы Shockwave Flash посредством библиотеки (созданной Paul Haeberli) Libswf, которую можно загрузить с http://reality.sgi.com/grafica/flash/. Прикомпилировать libswf к РНР можно параметром --w1th-swf[=
OIR],где DIR — место размещения каталогов include (содержит файл swf.h) и lib (содержит файл libswf.a). <
/FONT>
Следующий пример демонстрирует создание Flash-анимации:
<?php swf_openfile ("test.swf". 256. 256. 30. 1, 1. 1
. swf_ortho2 (-100. 100. -100. 100): swfjJefinelme
(1. -70. 0. 70. 0. .2). swfjiefinerect (4. 60. -10. 70. 0. 0).
swfjtefinerect (5. -60. 0. -70. 10. 0):
sv,f_addcolor (0. 0. 0. 0):
swfjjefinefont (10. "Mod"): swf_fontsize (5):
swfjfontslant (10).
swf_definetext (11. "This be Flash wit PHP!". 1):
swf_pushmatnx (): swf_translate
(-50. 80. 0). swf_placeobject (11. 60). swf_popmatrix ():
for ($1 0; $1 < 30: $i++) { p $p =
$i/(30-l):
svrf_pushmatnx (): m
swf_scale (l-($p*.9). 1. 1). 1
swf_rotate (60*$p. 'z'):
swf_translate (20+20*$p. Sp/1 5. 0):
swf_rotate (270*$p. 'i );
swf_addcolor ($p. 0. $p/l,2. -$p);
swf_placeobject (1. 50);
swf_placeobject (4. 50).
swf_p1aceobject (5. 50).
swfjpopmatnx (): swf_showframe (): }
for ($1 = 0: $1 < 30: $т++)
{ swfj-emoveobject (50): if {($i*4) == 0) { swf_showframe (): } }
swf_startdoactiof():
swf_actionstop (): swf_enddoaction():
swf_closeflle() ?>
Просмотреть результат исполнения сценария можно но адресу:
http:// www.designmultimedia.com/swfphp/test.swf.
libswf не поддерживается Windows. Разработка библиотеки была прекращена, а исходные коды недоступны.
swf_openfile
Открытие нового файла Shockwave Flash
void swf_openfile (string filename, float width, float height, float framerate, float r, float g, float b)
Создает файл filename с анимацией (шириной width, высотой height, частотой кадров framerate и цветом фона R.G.B).
Данная функция должна вызываться первой, иначе в сценарии возникнет ошибка «segfault». Если необходимо непосредственно отсылать файл браузеру, можно задать его имя как php://stdout.