0

我有一个 cURL 脚本,我正在使用它来更新我的 web 目录。我知道我可以使用 RSS 提要(更友好?)等,但因为这是我的第一个脚本,所以我想向它添加新功能,以便提高我的 PHP 技能:)

目前我的脚本正在使用 cURL 来:

  1. 登录到管理面板 [POST]
  2. 创建现有页面的备份 [POST]
  3. 使用新内容更新现有页面 [POST]

登录

$username="username";
$password="admin";
$url="http://domain.com";
$cookie="cookie.txt";
$postdata (...)

所有 cURLS 都使用相同的名称: $ch = curl_init(); 例如

登录:

$ch = curl_init();
curl_setopt (...)

然后备份

$ch = curl_init();
curl_setopt (...)

然后更新

$ch = curl_init();
curl_setopt (...)

等等

我刚刚安装了两个新的 Web 目录,并希望使用我的 cURL 脚本以相同的方式更新它们。我知道我可以复制所有curl_inits并更改 URL,但如果我有 10 个新目录,我无法想象这样做:)

我的问题是:我如何创建一个循环,以便我的 cuRL 将:

  1. 登录 -> 备份页面 -> 使用http://domain1.com更新页面
  2. 登录 -> 备份页面 -> 使用http://domain2.com更新页面
  3. 登录 -> 备份页面 -> 使用http://domain3.com更新页面
  4. 处理完最后一个 url 后停止循环。

我是 PHP 新手,所以请耐心等待 :) 干杯!

4

1 回答 1

2

您可以制作一个多维数组并循环遍历它。

<?php
$postdata = array('Your update info ect');


$sites = array(

         array('url'=>'http://siteA.com',
               'username'=>'username',
               'password'=>'admin',
               'cookie'=>"cookie.txt",
               'postdata'=>$postdata),

         array('url'=>'http://siteB.com',
               'username'=>'username',
               'password'=>'admin',
               'cookie'=>"cookie.txt",
               'postdata'=>$postdata),

         array('url'=>'http://siteC.com',
               'username'=>'username',
               'password'=>'admin',
               'cookie'=>"cookie.txt",
               'postdata'=>$postdata),
); 

foreach($sites as $site){
    /*
    $site contains
    Array
        (
            $site['url'] => http://site*.com
            $site['username'] => username
            $site['password'] => admin
            $site['cookie'] => cookie.txt
            $site['postdata'] => Array
                                (
                                    Your update info ect
                                )
        )
    */

    //Do code for:
    //Login
    //Backup page
    //Update page
}
?>
于 2013-08-29T00:48:31.767 回答