项目:我正在尝试从NOAA服务器获取图像文件列表(它是打开并允许的)。文件名基于时间戳是半随机的。我需要将dir列表返回给数组。
此帖子的代码段有效。 HERE >>
在我硬编码$ url:
后,它看起来像<?php
$url = 'http://radar.weather.gov/ridge/RadarImg/NCR/JAX/';
$html = file_get_contents($url);
$count = preg_match_all('/<td><a href="([^"]+)">[^<]*<\/a><\/td>/i', $html, $files);
for ($i = 0; $i < $count; ++$i) {
echo "File: " . $files[1][$i] . "<br />\n";
}
?>
call the function getimages (NCR, JAX) ;
function getimages (ncr_or_nzt, the_site_name) {
var filelist =new array ();
var filelist = 'http://mysite.com/mypath/getimages.php?ncr_or_nzt&the_site_name';
}
然后我只需要dir
中的4个最新文件名最后,我需要在'function getimages'之外提供的var ** filelist [] 数组,这样我就可以将其设置为html中其他位置的'img.src'标记。** < / p>
希望我能更好地描述它。
答案 0 :(得分:0)
最简单......
var filelist = new Array(); // declare array outside of function first
function getimages(ncr_or_nzt, the_site_name) {
filelist.push('http://mysite.com/mypath/getimages.php?ncr_or_nzt&the_site_name');
}
// filelist is now available outside of the function
将参数传递给PHP ...
$argv
是一个命令行参数数组。你应该测试一下nuber等等,但是为了让你开始......
$url = sprintf('http://radar.weather.gov/ridge/RadarImg/%s/%s/', $argv[0], $argv[1]);
此外,如果您使用PHP作为CLI脚本,请将#!/usr/bin/php
(或PHP的位置放在您的操作系统上)并使脚本可执行。在Linux机器上,您可以执行sudo chmod +x [filename]
,然后可以使用.\[filename]
执行。
仅获取前四张图片
最后,要获得最近的四张图片,您可以执行以下操作...
$count = preg_match_all('/<td><a href="([^"]+)">[^<]*<\/a><\/td>/i', $html, $files);
// turn files array upside down, most recent first and vice versa
$files = array_reverse($files);
if ($count >= 4) {
$count = 4;
}
或者...
$count = preg_match_all('/<td><a href="([^"]+)">[^<]*<\/a><\/td>/i', $html, $files);
// turn files array upside down, most recent first and vice versa
$files = array_reverse($files);
// slice off the files we want
$files = array_slice($files[1], 0, 4);
然后......
foreach ($files as $file) {
printf("File: %s<br/>\n", $file);
}
还有什么你需要的吗?
答案 1 :(得分:0)
在html中:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"
function loadjquery () {
$.ajax({
"url": "ajaxV6.php",
"type": "GET",
"dataType": "json",
"success": function( data, status, xhr ){
alert("this is returned from the php ->>" + data[1] );
noaafilelist = ( data[1] ); //<< assign to global var
}
});
}
和..
function showResult (){
alert('this is global ->>' + noaafilelist );
}
PHP中的和.. ..最后,打印
print json_encode($files[1]);
并使其为html文件的其余部分全局添加:
var noaafilelist; // out side the function
我确信这几个月后看起来很笨拙......但现在它至少起作用了。
丹尼斯