PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

swf_actiongeturl> <svn_update
Last updated: Tue, 27 Nov 2007

view this page in

Shockwave Flash functions

PHP offers the ability to create Shockwave Flash files via Paul Haeberli's libswf module. You can download libswf at » ftp://ftp.sgi.com/sgi/graphics/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"25625630111);
swf_ortho2 (-100100, -100100);
swf_defineline (1, -700700.2);
swf_definerect (460, -107000);
swf_definerect (5, -600, -70100);
swf_addcolor (0000);

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

swf_pushmatrix ();
swf_translate (-50800);
swf_placeobject (1160);
swf_popmatrix ();

for (
$i 0$i 30$i++) {
    
$p $i/(30-1);
    
swf_pushmatrix ();
    
swf_scale (1-($p*.9), 11);
    
swf_rotate (60*$p,  'z');
    
swf_translate (20+20*$p$p/1.50);
    
swf_rotate (270*$p,  'z');
    
swf_addcolor ($p0$p/1.2, -$p);
    
swf_placeobject (150);
    
swf_placeobject (450);
    
swf_placeobject (550);
    
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 PHP4 RC2.

Table of Contents



swf_actiongeturl> <svn_update
Last updated: Tue, 27 Nov 2007
 
add a note add a note User Contributed Notes
SWF
vivid at bwteam dot org
15-Nov-2004 03:52
I am using ActiveSWF toolkit to produce dynamic Flash movies from XML. I like it, because only I need to produce new dynamic movie is new XML. PHP code is the same. Additionally, it has quite good documentation. See http://www.activeswf.com
Mark Dijkman The Netherlands
14-Jan-2004 01:16
Let's not forget to mention there IS another alternative to Swf-lib and Ming. It's called FreeMovie and is created by Jacek Artymiak from O'Reilly. This piece of art is made out of PHP-files only wich makes it suitable for many platforms. The project is also available via SourceForge as freemovie-php.

Thumbs up for that one!
manuel DOT leiner AT gmx DOT de
29-Jul-2002 02:20
Just to mention for users of SuSE 8.0. libswf is included with the distro with no fonts. Therefore you must "patch" libswf support. As I didn't find the solution here before and I found a solution I am posting this fix:
Download the libswf package and uncompress to a directory (e.g. /usr/share/php/swf). Then include
"
SWFFONTPATH=/path/to/fonts
export SWFFONTPATH
"
Then log out and in again and restart apache. Then you should be able to use flash text functions within PHP.
daemorhedron
06-Mar-2002 08:50
For those having problems with libswf fonts you can add a system wide variable to point to the fonts dir in your shell.

In linux open up /etc/profile and add the lines :

SWFFONTPATH=/path/to/fonts
export SWFFONTPATH

Please not all of that is case sensitive, so copy it carefully. Logout and log back in to see changes (should affect all users). Test it from the command line with echo $SWFFONTPATH

For windows users you should be able to add

SET SWFFONTPATH=/path/to/fonts

in your autoexec.bat or autoexec.nt. Test it with echo %SWFFONTPATH%

HTH! =)
seek at byte-net dot ro
26-Jan-2001 03:06
Hot to make it right.
I have a /kit/php4 folder
I made a flash folder into that folder. Looks like
/kit/php4/flash
Here made 2 folders called lib and include
/kit/php4/flash/include
/kit/php4/flash/lib
Copy libswf.a in lib folder and swf.h in include folder
go to /kit/php4 folder and ./configure --with-swf=flash [--add your other configure params]
make
make install
works great
Note. In fact I have all unziped swf kit in /kit/php4/flash folder and I added the new 2 folder [lib and include]. Then copy specified files into them.
isu at tozsdeforum dot hu
16-Jan-2001 06:11
This works also! Write into the script:
putenv ("SWFFONTPATH=/path_to_swf/fonts");
Maybe you can do the job with apache somehow, but it did't work for me. (With getenv it looked ok, but the swf failed to find the font)
isu
mike at nux dot co dot uk
20-Dec-2000 05:22
I am using a Generator alternative Turbine - http://www.blue-pac.com - much cheaper than generator with a new version comming soon with builtin php support.
tbma at usa dot net
28-Oct-2000 04:32
Quick patch for php 4.0.2 to enable sound.

http://tbma.cjb.net/swf-sound/php-4.0.2-swf-sound.diff
ghisha at inwind dot it
05-Sep-2000 06:02
Writing on directory is not required. You can generate a run-time movie .. by replacing swf_openfile("<filename>", .... ) with swf_openfile("php://stdout", ....) and add before that an
Header("Content-type: application/x-shockwave-flash")
adobernig at netway dot at
11-Jul-2000 07:09
There are 2 prerequisites that must be met to run the test program:

1.) The directory where the test program resides in must be writeable to the PHP user (depending on installation either the apache user (module version of PHP4) or the script owner)

2.) The fonts directory from the swflib  distribution must be in the same dir as the test script file  so when the test file is  foo/swftest.php  the fonts dir should be  foo/fonts/ containing Mod.f and Mod.l    

Otherwise you will get a segfault when executing the test program.
kawa at gui dot uva dot es
06-Jul-2000 04:23
Fonts must be in the directory named "fonts". Lets see... if your code is in /www/swf.php4, you sould make a directory /www/fonts. If you use the example above, copy the files dist/fonts/Mod.f and dist/fonts/Mod.l of the source distribution to into /www/fonts/ to use the font Mod. I think you can use also SET_SWF_FONTS or similar

swf_actiongeturl> <svn_update
Last updated: Tue, 27 Nov 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites