执行后更改php文件

问题描述 投票:0回答:1

我创建了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页。所以我必须在几天后执行这个脚本。

php mysql wordpress
1个回答
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。

© www.soinside.com 2019 - 2024. All rights reserved.