Flashhilfe.de - Flash Community

PHP in HTML ausführen

 


AntwortenRegistrieren Seite1  

TarekHaddad#1
Benutzerbild von TarekHaddad
Beiträge: 34
Wohnort: Berlin
Registriert: Apr 2008

25.07.2011, 13:36

Hallo Leute,

ich würde gerne eine PHP Datei auf meinem Server ausführen lassen, wenn ein User meine Internetseite ansteuert. Die PHP schreibt mir Yahoo Wetterdaten im XML Format auf meinem Server. Wenn ich diese PHP direkt ansteuere funktioniert es auch einwandfrei.

Ablauf:
- URL wird angesteuert
- HTML wird gelesen
- PHP wird ausgeführt
- XML Wetterdaten werden geschrieben
- Flash-Film wird gestartet
- Flash-Film liest Wetterdaten aus eigener Domain. (Crossdomain Security Restrictions umgangen)

Ich bekomme alles hin, nur nicht das die PHP beim Aufruf der HTML gestartet wird.
ist bestimmt nur ein kleines Script. Hab gegoogled wie ein Irrer. nix funktioniert.!


Bitte um Hilfe
Vielen Dank im Vorraus


Tarek
Werbung
Beiträge: 0
Registriert: Feb 2016


ashitaka#2
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

25.07.2011, 17:51

normalerweise ruft man dann eben immer die php-datei auf.
also anstatt index.html -> index.php.
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer
vindel#3
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

26.07.2011, 11:09

Warum so kompliziert?
Lass doch Flash die PHP-Datei ausführen und die Daten direkt zurück senden. Oder Als XML speichern und dann Flash das OK geben, dass die Datei fertig ist.
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
TarekHaddad#4
Benutzerbild von TarekHaddad
Beiträge: 34
Wohnort: Berlin
Registriert: Apr 2008

Themenautor/in

26.07.2011, 13:10

hallo leute, habs hinbekommen... danke...

doch jetzt kommt eine PHP Warnung beim ausführen der PHP! Schaut's euch mal an. Es lief die ganze Zeit, während ich den Flash Part geschrieben habe. und jetzt das...

http://www.kletteras.de/wetterdaten_test.php

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$xml 
simplexml_load_file("http://www.google.com/ig/api?weather=Schmachtenhagen,DE&hl=de");


Hier das PHP Script:
[
php]<?php
$xml 
simplexml_load_file("http://www.google.com/ig/api?weather=Schmachtenhagen,DE&hl=de");
$handle fopen("wetterdaten.xml""wb"); 
fwrite($handle$xml->asXML());
fclose($handle);
?>
 

Bin in PHP nicht wirklich fit. sind alles Befehle aus diversen Tuts.

Weiß nicht mehr was ich machen soll... ich verzweifle noch daran!


falls die Warnung bei euch nicht mehr auftauchen sollte... hier ist sie:
ActionScript:
1
2
3
4
5
Warning: simplexml_load_file(http://www.google.com/ig/api?weather=Schmachtenhagen,DE&hl=de) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.0 503 Service Unavailable in /mnt/web4/41/56/52299456/htdocs/wetterdaten_test.php on line 2

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://www.google.com/ig/api?weather=Schmachtenhagen,DE&hl=de" in /mnt/web4/41/56/52299456/htdocs/wetterdaten_test.php on line 2

Fatal error: Call to a member function asXML() on a non-object in /mnt/web4/41/56/52299456/htdocs/wetterdaten_test.php on line 4
Geändert von TarekHaddad am 26.07.11 um 13:10 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


vindel#5
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

26.07.2011, 15:19

Welche PHP-Version nutzt du? Vor PHP 5 müssen alle & encodiert werden...

Da die Daten doch alle im schönen XML-Format bei google vorliegen, würde ich diese direkt aus Flash ansprechen.
Einfach ins Hauptverzeichnis deiner Seite die crossdomain.xml-Datei anlegen mit dem Inhalt:
PHP:
1
2
3
4
5
6
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="kletteras.de" />
</cross-domain-policy>
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
TarekHaddad#6
Benutzerbild von TarekHaddad
Beiträge: 34
Wohnort: Berlin
Registriert: Apr 2008

Themenautor/in

26.07.2011, 15:46

Hey Vindel,

Also das wäre ja der absolute Traum, aber auch mit der crossdomain.xml funktioniert das nicht. (bei mir zumindest) Ich nutze PHP Version 5.2.17 auf dem Server. Das direkte laden der Daten von Google hatte ich wegen dieser Crossdomain Geschichte total abgeschlossen, weil das für mich ein Rätze war.
Geändert von TarekHaddad am 26.07.11 um 15:50 Uhr
TarekHaddad#7
Benutzerbild von TarekHaddad
Beiträge: 34
Wohnort: Berlin
Registriert: Apr 2008

Themenautor/in

26.07.2011, 15:48

PS: das PHP lag an der Zugriffszeit... habs zu oft von Google angefordert.

Kenn jemand ein Script, was nur zu bestimmten zeiten ausgeführt wird. und dann auch nur ein mal.
was ich an folgendes anknüpfen könnte? oder so ne art Caching?!? das nur jede 3. Stunde aktualisiert wird?

PHP:
1
2
3
4
5
6
7
8
9
<?php
$xml 
simplexml_load_file("http://www.google.com/ig/api?weather=Schmachtenhagen,DE&hl=en");

$handle fopen("wetterdaten.xml""wb"); 
fwrite($handle$xml->asXML());

fclose($handle);
?>
Geändert von TarekHaddad am 26.07.11 um 15:50 Uhr
ashitaka#8
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

26.07.2011, 21:07

http://php.net/manual/de/function.filemtime.php
PHP:
1
2
3
4
5
6
if (filemtime("wetterdaten.xml")+3*60*60 > time()) {

    // sachen machen, wenn der file &auml;lter als 3 stunden ist

}
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer
vindel#9
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

27.07.2011, 12:04

Schau mal hier unter "Proxy (second run)":
http://weatherdoll.com/google-weather-api-flash.php
Genau das, was du brauchst!
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
TarekHaddad#10
Benutzerbild von TarekHaddad
Beiträge: 34
Wohnort: Berlin
Registriert: Apr 2008

Themenautor/in

27.07.2011, 15:38

Hey Leute!

Vielen dank... Diese super ultra geniale if-Schleife ist eingabaut und funktioniert auch in betracht, dass er meine Daten nun im Stundentakt aktualisiert.

Nur jetzt geht folgendes Script nicht wenn ich meine http://kletteras.de/wetterdaten.php ausführe... (Weiterleitung zur Startseite) vorher ging es einwandfrei. War auch das einzigste was von meinem Script funktioniert hat. ;)

PHP:
1
2
header("http://www.kletteras.de/start.html");


Ich glaube das Universum will, dass ich die Finger von PHP lass... ;/
Paddy95#11
Benutzerbild von Paddy95
Beiträge: 81
Registriert: Sep 2010

27.07.2011, 15:44

Hiermit sollte deine Umleitung gehen:

PHP:
1
2
header("Location: http://www.kletteras.de/start.html");
TarekHaddad#12
Benutzerbild von TarekHaddad
Beiträge: 34
Wohnort: Berlin
Registriert: Apr 2008

Themenautor/in

27.07.2011, 17:42

oh man, wie dumm von mir, vielen dank...

hat jemand noch eine Lösung für Umlaute. PHP bekommt Worte wie "bewölkt" nicht in meine xml geschrieben.

Mein derzeitiges Script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if (!file_exists("wetterdaten_2.xml") || filemtime("wetterdaten_2.xml") < time() - 3600 || filesize("wetterdaten_2.xml") == 0) {
   
$xml simplexml_load_file("http://www.google.com/ig/api?weather=Schmachtenhagen,DE&hl=en");
   
$handle fopen("wetterdaten_2.xml""wb"); 
   
fwrite($handle$xml->asXML());
   
fclose($handle);
   
header("Location: http://www.kletteras.de/start.html"); 
} else {
   
header("Location: http://www.kletteras.de/start.html"); 
}
?>


Würde gerne das http://www.google.com/ig/api?weather=Schmachtenhagen,DE&hl=en in ein de ändern, damit ich deutsche Wetterzustände zurückbekomme. PHP gibt mir immer eine "is not a UTF-8 unicode" meldung zurück. Bis jetzt habe ich Flash jeden Wetterzustand (umständlich) übersetzen lassen.

hat irgendwas mit urlencode od. decode zutun oder?
Geändert von TarekHaddad am 27.07.11 um 17:44 Uhr
Paddy95#13
Benutzerbild von Paddy95
Beiträge: 81
Registriert: Sep 2010

27.07.2011, 19:53

Vielleicht klappt es, wenn du deine Sonderzeichen in ANSI-Code umwandelst.

Hier eine umfangreiche Liste von Sonderzeichen: Liste.

Z.B.: bewölkt = bew&ouml;lkt.

Zu dein anderes Problem:

Bei mir kam die deutsche Übersicht wenn ich die Sprachangabe am Ende entfernt habe.
http://www.google.com/ig/api?weather=Schmachtenhagen,DE&hl
Geändert von Paddy95 am 27.07.11 um 19:55 Uhr
TarekHaddad#14
Benutzerbild von TarekHaddad
Beiträge: 34
Wohnort: Berlin
Registriert: Apr 2008

Themenautor/in

28.07.2011, 12:28

Hey Leute,

Ich habe wieder das Problem, was ich dachte gelöst zu haben. Der vorübergehende Fehler, das der Service "Unavalible" ist. Dieser Fehler taucht erst nach ein paar ausführungen der wetterdaten.php auf. Ich schätze, dass es was mit den vielen aufrufen der Wetterdaten der Google Weather API zu tun hat. (Obwohl ich schon eingestellt hatte, dass die Daten nur stündlich abgerufen werden.
PHP:
1
2
3
4
5
6
Warning: simplexml_load_file(http://www.google.com/ig/api?weather=Schmachtenhagen,DE&hl=de) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.0 503 Service Unavailable in /mnt/web4/41/56/52299456/htdocs/wetterdaten_test.php on line 2

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://www.google.com/ig/api?weather=Schmachtenhagen,DE&hl=de" in /mnt/web4/41/56/52299456/htdocs/wetterdaten_test.php on line 2

Fatal error: Call to a member function asXML() on a non-object in /mnt/web4/41/56/52299456/htdocs/wetterdaten_test.php on line 4

Ich verzweifle daran. Gibt es irgendein Maximum an abfragen diese Daten?
ashitaka#15
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

29.07.2011, 11:59

lass dir halt ausgeben, ob die daten neu geladen werden oder nur jede stunde.

und lass dir ausgeben, was der dienst für daten liefert.

Debugging!
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Online-Spiel Crossover [Flash 11] 05.06.2019 - Indy_Crossover
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de