使用php获取文本文件并将字符串发送到javascript

时间:2011-09-19 03:10:30

标签: php javascript string

好的,我要做的是制作一个javascript循环的图像,但首先我必须得到一个图像列表。在javascript中没有办法直接抓取这个文本文件... http://www.ssd.noaa.gov/goes/east/tatl/txtfiles/ft_names.txt但它可以在php中完成,我目前使用php获取txt文件,但javascript无法读取变量。如何让javascript能够读取此变量。这就是我的......

<?php
$file = "http://www.ssd.noaa.gov/goes/east/tatl/txtfiles/ft_names.txt"; //Path to your *.txt file
$contents = file($file);
$string = implode($contents);
echo $string;
?>
<script type="text/javascript">
    function prnt() {
        var whatever = "<?= $string ?>";
        alert(whatever);
    }
</script>

2 个答案:

答案 0 :(得分:0)

您可以使用echo或print在PHP中写入页面。

var whatever = "<?php echo $string; ?>";

虽然,如果文件中有换行符,您需要删除它们。

答案 1 :(得分:0)

让它更有趣:继续分割字段并使用JSON编码。它应该直接在javascript中读取而无需在客户端上调用JSON.parse()。

<?php
$lines = file_get_contents('http://...');
$lines = explode("\n",trim($lines));
foreach ($lines as &$line) {
    $line = preg_split('/,? /',$line);
}
$js = json_encode($lines);
?>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script type="text/javascript">
        var dar = <?php echo $js; ?>;
    </script>
</body>
</html>

如果您计划经常运行此文件,您还应该考虑使用本地代理来缓存该文件的结果,特别是如果您要在某个公共Web服务器上提供它。将文件存储在本地作为“noaa_data.txt”并在cron作业上有第二个脚本(12小时或其他):

<?php 
file_put_contents("/var/www/noaa_data.txt",file_get_contents("http://www.ssd.noaa.gov/goes/east/tatl/txtfiles/ft_names.txt"));
?>