PHP Manual
Prev |  | Next

# XCII. Shockwave Flash functions

PHP offers the ability to create Shockwave Flash files via Paul Haeberli's libswf module. You can download libswf at http://reality.sgi.com/grafica/flash/. Once you have libswf all you need to do is to configure `--with-swf[=DIR]` where DIR is a location containing the directories include and lib. The include directory has to contain the swf.h file and the lib directory has to contain the libswf.a file. If you unpack the libswf distribution the two files will be in one directory. Consequently you will have to copy the files to the proper location manually.

Once you've successfully installed PHP with Shockwave Flash support you can then go about creating Shockwave files from PHP. You would be surprised at what you can do, take the following code:

Example 1. SWF example
    <?php
    swf_openfile ("test.swf", 256, 256, 30, 1, 1, 1);
    swf_ortho2 (-100, 100, -100, 100);
    swf_defineline (1, -70, 0, 70, 0, .2);
    swf_definerect (4, 60, -10, 70, 0, 0);
    swf_definerect (5, -60, 0, -70, 10, 0);
    swf_addcolor (0, 0, 0, 0);

    swf_definefont (10, "Mod");
    swf_fontsize (5);
    swf_fontslant (10);
    swf_definetext (11, "This be Flash wit PHP!", 1);

    swf_pushmatrix ();
    swf_translate (-50, 80, 0);
    swf_placeobject (11, 60);
    swf_popmatrix ();

    for ($i = 0; $i < 30; $i++) {
        $p = $i/(30-1);
        swf_pushmatrix ();
        swf_scale (1-($p*.9), 1, 1);
        swf_rotate (60*$p,  'z');
        swf_translate (20+20*$p, $p/1.5, 0);
        swf_rotate (270*$p,  'z');
        swf_addcolor ($p, 0, $p/1.2, -$p);
        swf_placeobject (1, 50);
        swf_placeobject (4, 50);
        swf_placeobject (5, 50);
        swf_popmatrix ();
        swf_showframe ();
    }

    for ($i = 0; $i < 30; $i++) {
        swf_removeobject (50);
        if (($i%4) == 0) {
            swf_showframe ();
        }
    }

    swf_startdoaction ();
    swf_actionstop ();
    swf_enddoaction ();

    swf_closefile ();
    ?>

> Note: SWF support was added in PHP 4 RC2.

> The libswf does not have support for Windows. The development of that library has been stopped, and the source is not available to port it to another systems.

Prev | Home | Next
shmop_close | Up | swf_openfile