Salve a tutti,
ho il problema di richiamare un swf al quale passare una variabile che successivamente possa essere letta da action script.
Uso Flash CS5 e questo è il codice della pagina php che richiama il file swf:

index.php
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Monografie virtuali</title>
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
</head>

<body>
<div align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="800" 

height="750" id="FlashID" title="PageFlip">
  <param name="movie" value="notebook.swf" />
  <param name="quality" value="high" />
  <param name="wmode" value="opaque" />
  <param name="swfversion" value="8.0.35.0" />
  
  <!-- Questo tag param fa in modo che agli utenti con Flash Player 6.0 r65 e 

versioni successive venga richiesto di scaricare l'ultima versione di Flash 

Player. Eliminarlo se non si vuole visualizzare la richiesta agli utenti. -->
  <param name="expressinstall" value="Scripts/expressInstall.swf" />
  <!-- Il tag object successivo è per i browser diversi da IE. Utilizzare IECC 

per nasconderlo in IE. -->
  
  <object type="application/x-shockwave-flash" data="notebook.swf" width="800" 

height="750">
    
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="swfversion" value="8.0.35.0" />
    <param name="expressinstall" value="Scripts/expressInstall.swf" />
    
    <!-- Il browser visualizza il seguente contenuto alternativo per gli utenti 

che utilizzano Flash Player 6.0 e versioni precedenti. -->
    <div>
      <h4>Il contenuto di questa pagina richiede una nuova versione di Adobe 

Flash Player.</h4>
      

</p>
    </div>
    
  </object>
  
</object>
<script type="text/javascript">
<!--
swfobject.registerObject("FlashID");
//-->
</script>
</div>
</body>
</html>
Da questo codice php dovrei passare la variabile con il nome del file da aprire.

Questo è il codice action script richiamato:

notebook.swf
codice:
import flash.geom.ColorTransform;
import flash.geom.Transform;
//Stage.scaleMode = "noScale";

var maxSize:Number = 290; //the maximum width or height for the photos

//no need to edit this unless you know what you are doing
attachMovie("book", "Book", this.getNextHighestDepth());
Book._x = 146; Book._y = 90;
Book._xscale = Book._yscale = 90;
Book.gotoAndStop(26);

attachMovie("page","Page", this.getNextHighestDepth());
Page._x = 440; Page._y = 438;

attachMovie("cap", "Cap", this.getNextHighestDepth());
Cap._x = 342; Cap._y = 410;

var colorTrans:ColorTransform = new ColorTransform();
var hxy:Number = 0;

var Holder:MovieClip = createEmptyMovieClip("Holder", this.getNextHighestDepth

());
var Frame:MovieClip = createEmptyMovieClip("Frame", this.getNextHighestDepth

());
var mcLoader:MovieClipLoader = new MovieClipLoader();
var loadListener:Object = new Object();
var This:MovieClip = this;
var trans:Transform = new Transform(Holder);
var transFrame:Transform = new Transform(Frame);
var transPage:Transform = new Transform(Page);
var transCap:Transform = new Transform(Cap);

if (maxSize < 350) hxy = 175 - maxSize/2 ;
Holder._x = 164 + hxy; Holder._y = 100 + hxy;

drawFrame = function ():Void {
		Frame.lineStyle(1, 0x888888);
		Frame.moveTo(Holder._x,Holder._y);
		Frame.lineTo(Holder._x+Holder._width, Holder._y);
		Frame.lineTo(Holder._x+Holder._width, Holder._height

+Holder._y);
		Frame.lineTo(Holder._x, Holder._y + Holder._height);
		Frame.lineTo(Holder._x,Holder._y);
}

var x:XML = new XML();
x.ignoreWhite = true;

var urls:Array = new Array();
var captions:Array = new Array();
var whoIsOn:Number;

x.onLoad = function () {
	var photos:Array = this.firstChild.childNodes;
	for (i=0;i<photos.length;i++) {
		urls.push((_root.folderPath?_root.folderPath:"") + photos

[i].attributes.url);
		captions.push(photos[i].attributes.caption);
	}
	whoIsOn = 0;
	loadListener.onLoadStart = function ():Void {
		attachMovie("preloader", "Preloader", This.getNextHighestDepth

());
		Preloader._x = 339; Preloader._y = 275;
		Page.counter.text = "Pagina "+(whoIsOn+1)+" di "+photos.length;
		Cap.capcont.text = captions[whoIsOn];
		var transPreloader:Transform = new Transform(Preloader);
		timer = 0;
		

colorTrans.blueOffset=colorTrans.greenOffset=colorTrans.redOffset=255;
		colorTrans.alphaOffset = -255;
		trans.colorTransform = transFrame.colorTransform = 

transPage.colorTransform =
		transCap.colorTransform = transPreloader.colorTransform = 

colorTrans;
		Holder.onEnterFrame = function () {
			if (timer > 5) {
				colorTrans.alphaOffset = 0;
				colorTrans.blueOffset = colorTrans.greenOffset 

= colorTrans.redOffset -= 40;
				trans.colorTransform = 

transFrame.colorTransform = transPage.colorTransform =
				transCap.colorTransform = 

transPreloader.colorTransform = colorTrans;
			}
			else timer++;
			if (colorTrans.blueOffset < 0) {
				colorTrans.blueOffset = colorTrans.greenOffset 

= colorTrans.redOffset = 0;
				trans.colorTransform = 

transFrame.colorTransform = transPage.colorTransform =
				transCap.colorTransform = 

transPreloader.colorTransform = colorTrans;
				timer = 0;
				delete this.onEnterFrame;
				
			}
		}
	}
	loadListener.onLoadComplete = function ():Void {
		removeMovieClip(Preloader);		
	}
	loadListener.onLoadProgress = function(target:MovieClip, 

bytesLoaded:Number, bytesTotal:Number):Void {
	    percent = Math.ceil(bytesLoaded/bytesTotal*100);
		Preloader.gotoAndStop(percent);
	}	
	
	loadListener.onLoadInit = function() {
		raport = Holder._width / Holder._height;
		if ((Holder._width > maxSize) || (Holder._height > maxSize)){
			if (raport > 1) {
				Holder._width = maxSize;
				Holder._height = maxSize/raport;
				Holder._y += maxSize/2 - Holder._height/2-20;
				drawFrame();
			}
			else if (raport < 1) {
				Holder._width = maxSize*raport;
				Holder._height = maxSize;
				Holder._x += maxSize/2 - Holder._width/2;
				Holder._y -=20;
				drawFrame();
			}
			else if (raport == 1) {
				Holder._width = Holder._height = maxSize;
				Holder._y -=20;
				drawFrame();
			}
		}
		else {
			Holder._x += maxSize/2 - Holder._width/2;
			Holder._y += maxSize/2 - Holder._height/2;
		}
	}
	mcLoader.addListener(loadListener);
	mcLoader.loadClip(urls[whoIsOn], Holder);
	Book.onRelease = function () {
		this.gotoAndPlay(1);
		if (whoIsOn<photos.length-1) whoIsOn++;
		else whoIsOn = 0;
		Holder.onEnterFrame = function () {
			if (colorTrans.blueOffset < 255) {
			colorTrans.blueOffset = colorTrans.greenOffset = 

colorTrans.redOffset += 80;
			colorTrans.alphaOffset -=50;
			trans.colorTransform = transFrame.colorTransform = 

transPage.colorTransform = transCap.colorTransform = colorTrans;
			}
			else {
				delete this.onEnterFrame;
				removeMovieClip(Holder);
				removeMovieClip(Frame);				
				var Holder:MovieClip = createEmptyMovieClip

("Holder", This.getNextHighestDepth());
				var Frame:MovieClip = createEmptyMovieClip

("Frame", This.getNextHighestDepth());
				Holder._y = 100+hxy; Holder._x = 164+hxy;
				mcLoader.loadClip(urls[whoIsOn], Holder);
			}
		}
		
				
	}
}

x.load((_root.folderPath?_root.folderPath:"") + "notebook.xml");
proprio nell'ultima riga c'è il nome del file xml che dovrebbe essere aperto.
Dovrei fare in modo che "notebook.xml" sia una variabile passata dal file index.php.
Cioè dal file index.php gli passo una variabile tipo $nome_file e su action script ricavo la variabile e la inserisco nell'ultima riga.

Grazie