Get Data in Flash From PHP

by on July 8th, 2007

Following is a little example on how we can fetch data from PHP script into Flash swf file.

Setting Up SWF File

In order for Flash to get data from an external source, you need to make use of dynamic text fields. Simply place a blank dynamic text field on the stage and make sure you give it a variable name (NB: dynamic text fields have both an instance AND a variable names. In this case we want to focus on the variable name). Note the name you give to the field’s variable name, as we’ll need it when we write our PHP script.

Once you have a text field setup, convert it to a movie clip symbol. Attach the following actionscript code to the resulting movie clip:

onClipEvent (load) {
//assuming you have a personal web server and PHP installed locally
loadVariables("http://localhost/test.php", this, "GET");
}
Writing the PHP script that will pass variables to your SWF

To pass a variable between PHP and you SWF, it is imperative that you know the name of the variable you want to populate within your SWF. Again, when I say variable name, I’m talking about a dynamic text field’s variable, not instance, name. As long as you keep that in mind, you should be alright.

The PHP script we’ll write is actually quite simple. All you need to do is use the print() function, whose output will be automatically passed to your SWF. As simple as this may seem, be warned that Flash needs to know which variable to populate with the data output from our script. In other words, we need to print the name of the variable attached to the dynamic text field we created earlier. This is a crucial step but is very simple to achieve. I’ve included an example below on how we would code this in PHP:

<?php
//The value of $x would be printed to the screen but the SWF would not read the data
$x = "abc";
print $x;
//The value of $x would be printed to the screen and because of the prefix 'myVar=', 
// the SWF will interpret this as being the intended value for the variable myVar in the SWF
print "myVar=$x";
?>

If you’ve ever tried getting external data into your SWF from a text file, you’ll notice that the two methods are very similar. PHP has a great advantage though in that you can use things like arrays, loops and even functions with which you can access information from within a database.

Share