Hi,
<?php
[...]
$abc = "teststring";
echo "<p>";
echo $abc;
echo "</p>";
?>
<script type="text/javascript">
info = "<?= getenv($abc); ?>";
document.write(info);
document.write("abc");
</script>
das ist mal ein schön reduziertes Test-Szenario. :-)
angezeigt wird:
teststring
abc
Richtig. Die erste Zeile "teststring" ist noch die direkte Ausgabe deines PHP-Scripts (im Quelltext: "<p>teststring</p>"), die Zeile darunter ist das Ergebnis von document.write("abc"); im Javascript. Das document.write(info) wird garantiert auch ausgeführt, aber info dürfte ein Leerstring sein. Denn mit getenv() greifst du in PHP auf die Variablen zu, die im PHP-Environment hinterlegt sind, sowie auf die GET- POST- und COOKIE-Daten. Aber nicht auf normale Script-Variablen. Die Anweisung <?= getenv($abc); ?> gibt daher einen Leerstring aus.
Informativer wäre es gewesen, wenn du info="<?= $abc; ?>"; notiert hättest. Dann hättest du erkannt, dass die Variablenübergabe an sich klappt (teststring wäre zweimal ausgegeben worden).
Hast du inzwischen untersucht, was nach
$abc = fread($File, filesize($datei));
_wirklich_ in $abc steht?
So long,
Martin
Frauen sind wie Elektrizität: Fasst man sie an, kriegt man eine gewischt.