URL: https://www.overclockers.at/coding-stuff/datei_schreiben_via_javascript_und_php_166037/page_1 - zur Vollversion wechseln!
hi leute.
Ich möchte in einem javaScript eine php funktion aufrufen die mir etwas in eine Datei schreibt da meines Wissens javascript mit dateien nicht umgehen kann.
das JavaScript wird alle 3 sekunden erneut aufgerufen jedoch wird nur beim ersten aufruf in die Datei geschrieben.
Code:
<?php
function write($query)
{
$datei= fopen("test.txt","a+");
fputs($datei,$query);
fclose($datei);
}
?>
<script language="JavaScript">
function prüfeStatus()
{
var js_var='<? echo write("text"); ?>';
window.setTimeout("prüfeStatus()",3000);
}
</script>
Inhalt Datei nach unzähligen sekunden:
text
weiß jemand rat?
lg schurli
soll das so ablaufen: ich geh auf deine internetseite, ein javascript lädt php und der php code schreibt mir dann eine datei auf meinen computer?
dein problem ist folgendes:
JavaScript = Clientside
PHP = Serverside.
JavaScript kann KEINE funktionen von PHP aufrufen!
Was javascript kann ist allerdings .php seiten zu öffnen.. sofgern es ned von nem popup blocker oder ähnlichm abgedreht wird
hi, danke fürs schnelle antworten
Ablauf:
jemand geht auf meine homepage, javascript lädt php code und der php code schreibt in eine Datei die auf dem Server der HP liegt.
es soll eine art überwachungstool werden.
es wird nichts auf den computer des surfers geschrieben keine sorge
kann es nicht? hab ganz schön viele beispiele gefunden wo der ablauf genau der is wie in meinem bsp.
die datei mit dem code ist ja auch eine .php seite.
ist es nicht egal ob ich in einem html dokument via js eine php seite aufrufe oda gleich eine php seite mache?
das war auch nur ein kleiner test, per js und php ist das auch nicht möglich
was du brauchst ist AJAX
du kannst per php ein js schreiben, aber nicht umgekehrt.Zitatkann es nicht? hab ganz schön viele beispiele gefunden wo der ablauf genau der is wie in meinem bsp.
die datei mit dem code ist ja auch eine .php seite.
ist es nicht egal ob ich in einem html dokument via js eine php seite aufrufe oda gleich eine php seite mache?
Zitat von dioIch glaub dir ist das Prinzip von Serverside und Clientside Applications nicht ganz bewusst.
mir ist gerade eingefallen, dass du es auch über einen iframe machen könntest, den man nicht sieht.
die js-timer funktion reloadet den iframe dann einfach immer mit anderen parametern.
danke für eure tipps sag i gleimal
was mir jedoch net ganz eingeht....das javascript ruft die php funktion auf..es funktioniert...es wird beim aufruf ja in die datei geschrieben, jedoch nur beim ersten aufruf...wenn des ganze so net möglich ist, warum schreibt er dann überhaupt in die datei???
das ist unabhängig vom javascript code, der source code wird ja 1x geparst (so wie immer) und dabei wird die funktion aufgerufen. dem php parser ist ganz egal was noch in dem file drinnensteht, er achtet nur auf die < ?php ? > tags.
versteh i des richtig...es wird ja einmal geparst...dabei wird die funktion einmal ausgeführt und es wird in die datei gschrieben? dh. jeglicher reload des js führt deiner meinung nach die php funktion nicht mehr aus???
ja, richtig!!!11
ist aber nur meine meinung
nana versteh mi net falsch...i setz mehr auf deine meinung als du glaubst...nur ...i hab den beweis dass javascript inkl. php funktion alle 3 sekunden ausgeführt wird. brauch i ja nur ein echo rein machen in den php code. und alle 3 sek leuchtet auf "jetzt wird in die datei geschrieben". allerdings eben nur beim ersten mal wirklich.....muh?
gut, und jetzt bin ich ganz weit weg...
wie zum henker rufst du via JS eine PHP Funktion auf? Oder lädst du die Seite in irgned nen Iframe, den du übers JS steuerst?
genau so wie es im code oben steht*G*
das js wird alle 3 sekunden aufgerufen und hüpft in der zeile,
var js_var='<? echo write("text"); ?>';
alle 3 sekunden in den php code und öffnet die datei etc etc. nur des mit dem schreiben haut net hin da er nur schreibt wenn des ganze zum ersten mal geladen wird....
schau dir den code an, den du im browser bekommst - das php wird genau einmal geparsed und ersetztZitatvar js_var='<? echo write("text"); ?>';
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025