swf Dateien in PHP ausgeben

solala123

Erfahrenes Mitglied
Hallo,

ich habe mir ein drehendes Logo in swf erstellt, da es aber nicht jeder möchte das es dreht habe ich eine Auswahl
"Logo dreht" --> var ist 1
"Logo steht" --> var ist 2

Das abspielen der swf funktioniert einwandfrei,

ich dachte mir, mit folgender auswahl kann ich es drehen lassen oder ein Bild einblenden

PHP:
if ($benutzer == 1)
   { echo "Logo dreht";   und da will ich das drehende Logo ausgeben
   }
if  ($benutzer == 2)
   {echo "Logo steht";    und da will ich ein festes Bild ausgeben was ja kein Problem darstellt
   }




das drehende Logo ist so in html programmiert:

HTML:
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>


<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="340" height="340" id="FlashID" title="Kugel_450">
<param name="movie" value="Kugel_450.swf">
<param name="quality" value="high">
<param name="wmode" value="transparent">
<param name="swfversion" value="6.0.65.0">

<!-- Dieses param-Tag fordert Benutzer von Flash Player 6.0 r65 und höher auf, die aktuelle Version von Flash Player herunterzuladen. Wenn Sie nicht wünschen, dass die Benutzer diese Aufforderung sehen, löschen Sie dieses Tag. -->

<param name="expressinstall" value="Scripts/expressInstall.swf">

<!-- Das nächste Objekt-Tag ist für Nicht-IE-Browser vorgesehen. Blenden Sie es daher mit IECC in IE aus. -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="Kugel_450.swf" width="340" height="340">
<!--<![endif]-->
<param name="quality" value="high">
<param name="wmode" value="transparent">
<param name="swfversion" value="6.0.65.0">
<param name="expressinstall" value="Scripts/expressInstall.swf">
<!-- Im Browser wird für Benutzer von Flash Player 6.0 und älteren Versionen der folgende alternative Inhalt angezeigt. -->
<div>
  <h4>F&uuml;r den Inhalt dieser Seite ist eine neuere Version von Adobe Flash Player erforderlich.</h4>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Adobe Flash Player herunterladen" width="112" height="33" ></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>

<script type="text/javascript">
          swfobject.registerObject("FlashID");
          swfobject.registerObject("FlashID");
</script>


ich hatte mir vorgestellt zwischen den IF { } den code vom Player mit echo einzufügen (aber das wäre ja zu einfach gewesen)

hat jemand eine Idee, wo ich mir ein Beispiel ansehen kann oder Tips geben?

Danke
Gruß
Rainer
 

chmee

verstaubtes inventar
Premium-User
Wie unterscheidest Du zwischen drehendem und stehendem Logo?

Sind das verschiedene SWF's oder würdest Du bei einem die Animation starten, beim Anderen nicht?

Kannst Du dieses Verhalten per JS steuern? Was ist das für ein SWF-Script? (links)
Wenn Ja, dann sollte es i.wie so aussehen:
HTML:
<script type="text/javascript">
          swfobject.registerObject("FlashID");
          <?php
if ($benutzer == 1)
{
  echo 'swfobject.Object("FlashID").Play';
}
else
{
  echo 'swfobject.Object("FlashID").Stop';
}
          ?>
</script>
Ob nun if/else oder switch/case, das ist Dir überlassen.

[Nachtrag] Das stehende Logo könntest Du auch simpel als jpg/png ablegen und via if/else zwischen flash und bild switchen..

mfg chmee
 

saftmeister

Nutze den Saft!
Das stehende Logo könntest Du auch simpel als jpg/png ablegen und via if/else zwischen flash und bild switchen..

Was auch besser ist, wenn man das Logo Usern zeigen möchte, die kein Flash-Plugin installiert haben ;-)

Da kannst du durchaus in PHP eine Entscheidung drüber treffen. So kannst du vorgehen:

- Standardmäßig zeigst du das Flash-Filmchen an. Daneben eine Checkbox, die den JS-Event "onclick" catched und die Seite mit dem GET-Parameter "logo=noflash" neu lädt.
- Im PHP-Script prüfst du mittels isset() ob $_GET['logo'] gesetzt und ob der Wert $_GET['logo'] auf "noflash" steht. Wenn dem so ist, gibst du dem Browser mittels setcookie()-Funktion das Setting "logo" auf "noflash".
- Bevor das Logo als Flash-Film oder als Bild ausgegeben wird, prüfst du, ob $_COOKIE['logo'] gesetzt und auf "noflash" steht, und zeigst das Bild andernfalls das Flash an.
 

solala123

Erfahrenes Mitglied
Hallo,
so wie du es beschreibst, habe ich es schon "fast"
ich habe auf einer seperaten Seite mehrere Einstellungen z.B. Textfarbe und Hintergrund und auch
2 Radiobutton "Logo dreht" und "Logo steht" wenn eines der beiden angewählt wurde muß es "abgeschickt" werden. ich habe debei eine Zuweisung an eine Variable, Logo dreht =1, Logo steht =2.
Das wird in einem Cooki gespeichert.
hier kannst du es mal anschauen, unter "Einstellungen"

http://tt.resbar.de/Einstellungen.php

die Auswahl in php funktioniert auch mit einem Text



Aber, wie bekomme ich jetzt, siehe ganz oben, <objekt classid= .......... dazu, wenn Logo dreht =1 in $benutzer das das Logo dreht und
wenn in der Variable $benutzer=2 steht das Bild angezeigt wird, wobei das Bild anzuzeigen kein Problem ist.

das beschreibst du ja in deinem letzten Punk und da hakt es


mir ist gerade was eingefallen:
kann man nicht einfach die "Schleife" mit der Variablen aktivieren oder deaktivieren, dann könte man sich sogar das laden des Bildes sparen


Das war die Lösung:
PHP:
 if ($benutzer == 2)  {
     echo '<param name="LOOP" value="false">';
}

und wenn jetzt in der Variablen $benutzer =1 steht, dreht das Logo
wenn in der Variablen $benutzer =2 steht, steht das Logo mit dem ersten Bild
so wie es sein soll.

Danke an alle die sich Gedanken darüber gemacht haben :)



Gruß
Rainer



Hallo
ich brauche doch nochmal Euere Hilfe,

mit der obigen Änderung, den LOOP ein false zuweisen funktioniert ja
aber warum wird, wenn die Seite neu aufgerufen wird, der LOOP einmal ausgeführt?

ich habe auch anstelle der Variablen es mit dem cooki versucht aber eine Ehrenrunde dreht das Logo trotzdem!

wie kann man das verhindern?


Ich habe es jetzt den ganzen Programmabschnitt welches die swf Datei betrift in PHP mit Echo eingebunden und vorher die Auswahl in PHP getroffen.

Gruß
Rainer
 
Zuletzt bearbeitet: