我创建了php脚本,它获取数据并将其写入XML文件。在php中使用for循环执行任务。对于今天的执行,它将从1到10运行。 但是当我再次执行脚本时,我希望它继续从11到20 for for循环。但正如我在php文件中为1到10编写的那样,它每次都会执行相同的操作。 这些值从服务器获取正确的值是每次脚本执行时更新值的任何方式。 示例代码:
for ($i=1; $i<2; $i++)
{
//$url = $link3;
$url = $link1 . $i . $link2;
// Set the url
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
$file=curl_exec($ch);
$fileName = "data.xml";
if ( file_exists($fileName)) {
$xml = simplexml_load_file($fileName);
}
else {
$xml= new SimpleXMLElement('<results />');
}
$array = json_decode ($file, true);
// Remove _class element
foreach ( $array['results'] as $key=>$result ) {
unset($array['results'][$key]['_class']);
}
arrayToXml($array['results'], $xml);
$xml->asXML($fileName);
}
基于i的值确定了URL,我也从API中引用页面,我一次可以获取最多10页。所以我必须在几天后执行这个脚本。
答案 0 :(得分:2)
您可以尝试使用sessions。把它放在代码的开头:
session_start();
if (!isset($_SESSION['start']) {
$start = $_SESSION['start'] = 1;
}
else {
$start = $_SESSION['start'] += 10;
}
session_write_close();
第一次运行代码时,$_SESSION['start']
将不会被设置,因此$start
将为1.在后续运行$start
将来自$_SESSION['start']
并将增加每次10个。