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

使用php获取文本文件并将字符串发送到javascript,php,javascript,string,Php,Javascript,String,好的,我想做的是创建一个javascript图像循环,但是首先我必须得到一个图像列表。在javascript中,无法直接获取此文本文件。。。但是它可以在php中完成,我目前正在使用php获取txt文件,但是javascript无法读取变量。如何使javascript能够读取此变量。这是我所拥有的 <?php $file = "http://www.ssd.noaa.gov/goes/east/tatl/txtfiles/ft_names.txt"; //Path to your *.txt

好的,我想做的是创建一个javascript图像循环,但是首先我必须得到一个图像列表。在javascript中,无法直接获取此文本文件。。。但是它可以在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>

函数prnt(){
var=”;
警惕(无论什么);
}

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

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

不过,如果文件中有换行符,则需要删除这些换行符。

让它更有趣一点:继续分割字段并使用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>

var-dar=;

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



您现在得到的输出是什么?我假设您正在某处调用prnt()?是否启用了短标记?文本的内容是什么?是否有换行符等等?@Doug nothing,没有警告框,但是如果我在php中只创建一个正则变量,例如$string=“Ok”,并且不向其中添加任何内容,它就可以正常工作。你确定你的$string不是空的,并且在php阶段没有出现问题吗?这对我也不起作用。顺便说一句,我没有说明这一点,但我不想将字符串打印到页面上。那么您想要什么?JavaScript无法直接从PHP读取变量。加载页面时必须对其进行解析,或者您需要通过AJAX获取它。我希望位于的文本文件或我选择的任何其他url以某种方式加载到javascript var中。那么您可能应该使用AJAX。是否可以在AJAX中从您的域名外读取txt文件,我已经了解到它不是。
<?php 
file_put_contents("/var/www/noaa_data.txt",file_get_contents("http://www.ssd.noaa.gov/goes/east/tatl/txtfiles/ft_names.txt"));
?>