Swf-Datei und Php Include Function

picard135

Grünschnabel
Hallo,

ich habe ein kleines Problem
ich habe in Flash ein Image Viewer der seine die Bilder aus einem Ordner lädt und die Bildnamen über eine Textdatei einliest


Da ich die Html Datei über eine PHP Include Funktion einbinden will, habe ich die Pfadangabe mit reingeschrieben. Der Flashfilm wird auch ausgeführt, aber die Bilder werden nicht geladen.
Zur begutachtung findet ihr die Seite hier dort unter Bilder 2004 (ist nur eine Vorübergehende lösung)

Ohne die Include Funktion läuft das Ding einwandfrei!

Dies wird über folgenden Aktionscript Code gelöst
Code:
stop ();
    // Spalten und Reihen
    pS = 1;
    pR = 5;
    // Limit
    max = pS * pR;
    // Zweidimensionales Array erzeugen
    function setArray (pT)
    {
    	spielLevel = new Array ();
    	for (var m = 0; m < pR; m++)
    	{
    		spielLevel[m] = [];
    		for (var n = 0; n < pS; n++)
    		{
    			spielLevel[m].push (alleBilder[pT++]);
    		}
    	}
    	tabelle (10, 10, 60, 60);
    }
    // Movieclips setzen
    function tabelle (posX, posY, pB, pW)
    {
    	for (i in this.mc_bild)
    	{
    		if (typeof (this.mc_bild[i]) == "movieclip")
    		{
    			this.mc_bild[i].removeMovieClip ();
    		}
    	}
    	tiefe = 0;
    	for (var i = 0; i < spielLevel[0].length; i++)
    	{
    		for (var j = 0; j < spielLevel.length; j++)
    		{
    			nName = "block_" + i + "_" + j;
 			this.mc_bild.attachMovie ("contclip", nName, tiefe++);
    			this.mc_bild[nName].nummer = i;
    			this.mc_bild[nName].bildname = "fotos/altenbeuren/daten/" + spielLevel[j][i];
    			this.mc_bild[nName]._x = posX + pB * i * 1.2;
    			this.mc_bild[nName]._y = posY + pW * j * 1.2;
    			this.mc_bild[nName].onRelease = function ()
    			{
 		 	this._parent._parent.createEmptyMovieClip ("inhalt", 10000);
 		 	this._parent._parent.inhalt.attachMovie ("grosscontclip", "grossclip", 1);
 		 	this._parent._parent.inhalt.grossclip.bildname = this.bildname;
 				this._parent._parent.inhalt.grossclip._x = 90;
 				this._parent._parent.inhalt.grossclip._y = 10;
    		        this._parent._parent.inhalt.grossclip.leiste_mc.onPress = function ()
    				{
 					this._parent.startDrag ();
    				};
 		 this._parent._parent.inhalt.grossclip.leiste_mc.onRelease = this._parent._parent.inhalt.grossclip.leiste_mc.onReleaseOutside = function ()
    				{
 					this._parent.stopDrag ();
    				};
   		 this._parent._parent.inhalt.grossclip.leiste_mc.onMouseMove = function ()
    				{
 					updateAfterEvent ();
    				};
    			};
    		}
    	}
    }
    
    var seite:Number = 0;
    
    // Schaltflächen
    w_btn.onRelease = function ()
    {
    	if (seite < alleBilder.length - max)
    	{
    		seite += max;
    		setArray (seite);
    	}
    };
    z_btn.onRelease = function ()
    {
    	if (seite > 0)
    	{
    		seite -= max;
    		setArray (seite);
    	}
    };
    // Starten
    loadVariables ("fotos/altenbeuren/bilder.txt", this);
    this.onData = function ()
    {
    	alleBilder = new Array ();
    	alleBilder = bildnamen.split (",");
    	createEmptyMovieClip ("mc_bild", 1);
    	setArray (0);
    };


Danke im Vorraus für Hilfe
gruß

P.S.: Bin neu hier, schöne Seite
 
Zuletzt bearbeitet:
Hi und willkommen im Forum,

Relative Pfade in SWF-Dateien gelten immer von der URL der angezeigten Seite aus. Wie ist denn die Ordnerstruktur Deiner PHP-Dateien, sprich: in welchen Verzeichnissen befinden sich die aufgerufene und die inkludierte Seite?

ggf. musst Du die Textdatei und die Bilder von dem Pfad des inkludierten Scripts adressieren.

Gruß
.
 
Die Ordnerstrucktur sieht folgendermaßen aus

die Index.php liegt auf
mitglied.lycos.de/markuspleines/mvb
die Seite in die die Flashdatei eingebunden ist sowie die die bilder.txt und die swf Datei liegen auf mitglied.lycos.de/markuspleines/mvb/fotos/altenbeuren

die Bilder liegen auf
mitglied.lycos.de/markuspleines/mvb/fotos/altenbeuren/daten


gruß
 
Hmm... wäre eigentlich unlogisch, aber hast Dus mal probiert mit
Code:
this.mc_bild[nName].bildname = "daten/" + spielLevel[j][i];
und
Code:
loadVariables("bilder.txt", this);
?

Ansonsten: Ich werde das mal versuchen in etwa nachzubauen und poste dann meine Ergebnisse!

Gruß
.
 
Ja, schon ausprobiert, so hat er auch den Flashfilm nicht geladen. Und da ja bekanntlich die Pfade immer von der Index.php ausgehen, in die die anderen Seiten dann Included werden, sollte der Pfad so eigentlich stimmen.

Gruß

picard135.

P.S.: Wenn du das Fla File willst, sag bescheid
 
Also, ich habe mal folgende Struktur aufgebaut und es funktioniert:

Hauptverzeichnis: main.php

Inhalt
PHP:
include("sub/flash.php");

Im Ordner "sub" befindet sich sowohl die flash.php als auch die test.swf.

Inhalt flash.php:
PHP:
echo('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="test" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="sub/test.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="sub/test.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="test" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>');
Da ja die main.php angezeigt wird, wird hier als Pfad für die Flashdatei "sub/test.swf" angegeben.

Im Ordner "sub" befindet sich ein weiterer Ordner "data", der eine Textdatei (test.txt) enthält. Geladen wird diese Datei in Flash mit:
PHP:
loadVariables("sub/data/test.txt", this);
... und es funktioniert alles!

Das entspricht soweit ich das sehen kann, Deiner Struktur. Was noch als Fehlerquelle in Frage käme: Lycos setzt Deine Seite beim Aufruf in ein Frameset (tja, diese Gratisanbieter) und das bringt Deine Adressierung durcheinander. Hast Du Dein SetUp mal auf einem lokalen Server ausprobiert?

Gruß

P.S.: Ansonsten probier es mal mit absoluten Pfadangaben in der SWF!

Du kannst die .fla auch posten, dann versuche ich es mit meinem Setup - aber da der Flashteil bei Dir ja zunächst (ohne include) funktioniert hat, sehe ich den Fehler eher in der Dateistruktur als in der .fla.
.
 
Zuletzt bearbeitet:
Ich hab dir mal die Dateine in einem Zip Verzeichniss hier hinterlegt!, so, wie sie offline funktionieren.
Auch mit Absoluter Pfadangabe hat es nichts gebracht, und auch die Ausführung auf einem anderen Host (allerdings auch Free) klappte auch nicht (auch ohne die Datei zu Includen)

Gruß & Vielen Dank für deine Hilfe!
 
Hi,

so funktioniert es (siehe Anhang). Ich habe statt "altenbeuren" lediglich "sub" als Unterordner verwendet, aber den Namen kannst Du ja wieder ändern.

Beachte, dass auch in den MCs "Content_Container" und "Gross_Container" die richtigen Pfadangaben gemacht werden müssen!

Gruß
.
 

Anhänge

Ok, soweit verstanden, hoffe wohl nur noch eine Frage:
Wie ändere ich den Pfad für Content_Container u. Gross_Container :confused:

Gruß
 
Öffne die beiden MovieClips. Dort siehst Du Pfade wie
PHP:
if (bildname == "bilder/")
oder auch:
PHP:
if (bildname == "daten/undefined") this.removeMovieClip();
Da musst Du Deinen Ordner (altenbeuren) auch davorsetzen.

Moment mal ... ich dachte, Du hast die Datei erstellt? ;-]

Gruß
.
 
Zurück