我有一个cURL脚本,我正在用它来更新我的web目录。我知道我可以使用RSS提要(更友好?)等,但因为这是我的第一个脚本,我想为它添加一个新功能,这样我就可以提高我的PHP技能:)
现在我的脚本使用cURL:
- 登录到管理面板[POST]
- 创建现有页面的备份[POST]
- 用新内容更新现有页面[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:
- 登录->备份页面->更新页面使用http://domain1.com
- 登录->备份页面->更新页面使用http://domain2.com
- 登录->备份页面->更新页面使用http://domain3.com
- 在处理完最后一个url后停止循环
我是PHP新手,所以请耐心等待:)干杯
您可以制作一个多维数组并在其中循环。
<?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
}
?>