Cron作业重命名网页
首先,让我说我对Cron Jobs或PHP文件一无所知,所以如果您足够回复,请记住我的新手状态 - (使用小词并慢慢说!)
我是我们组织网站的网站管理员,我正在尝试做一些应该简单而又耗时的事情:在我们网站的主网页上,并在感恩节和圣诞节假期期间自动更新它。 我已经创建了我需要的特定网页,并将它们上传到了GoDaddy服务器,但我实在没有时间按照日期的方法进入并手动重命名这些网页; 我被告知Cron Job只是用来自动保存现有页面并重命名新页面的东西。
下面是我想要做的:1)位于根目录中的文件Index.htm得到保存或重命名,以便假期结束后我可以回到它。 2)现在名为/ Holiday Pages / happy_thanksgiving.htm的文件在11月25日移到根目录并重命名为index.htm。12月24日与名为merry_christmas.htm的文件相同。 3)GoDaddy有一个Cron Job控制面板,它允许我在特定的时间在特定的时间运行特定的脚本,所以我不认为日期代码需要嵌入脚本本身 - 但我没有一个线索是什么放在这个脚本 - 从与GoDaddy的人谈话,他们建议一个PHP脚本。 4)在这个PHP脚本中,我需要写什么命令(具体例子请 - 一个示例脚本将是非常棒的,最受赞赏!)5)这个脚本的扩展名应该是什么? .TXT或.PHP?
提前致谢! 再次,请记住我在这里头 - 并请原谅我的无知!
-------------------------------------------------- ----- UPDATE 111/15/14 --------------------------------------- -----------------以下是我迄今为止所尝试的,使用了一些建议 - 数字1)2)等是试用脚本编号,然后由GoDaddy的Cron调用工作经理。
1)----------------------------------------------
<?php
$target = "/holiday_pages/happy_thanksgiving.html";
$newName = "/holiday_pages/index.htm";
$renameResult = rename($target, $newName);
// Evaluate the value returned from the function if needed
if ($renameResult == true) {
echo $target . " is now named " . $newName;
} else {
echo "Could not rename that file";
}
?>
2)------------------------------------------------
rename('/holiday_pages/happy_thanksgiving.html', '/holiday_pages/index.htm');
3)------------------------------------------------
rename("/holiday_pages/happy_thanksgiving.html", "/home/user/password/holiday_pages/index.htm");
?>
4)------------------------------------------------
<?php
$date = new DateTime();
$date -> format('Y.m.d');
if ($date == '2014.11.15') {
copy('./HTML/holiday_pages/index.htm','index.htm.bak');
copy('./HTML/holiday_pages/happy_thanksgiving.html','index.htm'); // you need to make sure if this (../Holiday Pages/) is the right path to your file!
}
else if ($date == '2014.11.26') {
copy('index.htm.bak','index.htm');
}
5)------------------------------------------------ -
<?php
$date = new DateTime();
$date -> format('Y.m.d');
if ($date == '2014.11.15') {
copy('../HTML/holiday_pages/index.htm','index.htm.bak');
copy('../HTML/holiday_pages/happy_thanksgiving.html','index.htm'); // you need to make sure if this (../Holiday Pages/) is the right path to your file!
}
else if ($date == '2014.11.26') {
copy('index.htm.bak','index.htm');
}
6)------------------------------------------------ -
<?php
$date = new DateTime();
$date -> format('Y.m.d');
if ($date == '2014.11.15') {
copy('/HTML/holiday_pages/index.htm','index.htm.bak');
copy('/HTML/holiday_pages/happy_thanksgiving.html','index.htm'); // you need to make sure if this (../Holiday Pages/) is the right path to your file!
}
else if ($date == '2014.11.26') {
copy('index.htm.bak','index.htm');
}
7)------------------------------------------------ ---
<?php
$date = new DateTime();
$date -> format('Y.m.d');
if ($date == '2014.11.15') {
copy('./holiday_pages/index.htm','index.htm.bak');
copy('./holiday_pages/happy_thanksgiving.html','index.htm'); // you need to make sure if this (../Holiday Pages/) is the right path to your file!
}
else if ($date == '2014.11.26') {
copy('index.htm.bak','index.htm');
更好的解决方案是根据日期创建文件和代码动态包含文件,示例代码如下:
$date = date("m-d-y", time()); // current date
$holidays = array('12-25-14' => 'christmas-page.php', '11-27-14' => 'thanksgiving-day-page.php'); // create all holidays here
$page = isset($holidays[$date]) ? $holidays[$date] : 'default-index.php';
include($page);
简单的逻辑,将工作正常
只需创建一个文件并命名它,例如holiday_copy.php。 这是脚本本身:
<?php
$date = new DateTime();
$date -> format('Y.m.d');
if ($date == '2014.11.25') {
copy('index.htm','index.htm.bak');
copy('../Holiday Pages/happy_thanksgiving.htm','index.htm'); // you need to make sure if this (../Holiday Pages/) is the right path to your file!
}
else if ($date == '2014.11.26') {
copy('index.htm.bak','index.htm');
}
else if ($date == '2014.12.24') {
copy('index.htm','index.htm.bak');
copy('../Holiday Pages/merry_christmas.htm','index.htm'); // again, you need to make sure if this (../Holiday Pages/) is the right path to your file!
}
else if ($date == '2014.12.27') {
copy('index.htm.bak','index.htm');
}
?>
你必须在预期的日子里运行这个脚本,最好的时间是
0:01 on eg 2014-12-24
您需要将此文件放置在您的index.htm所在的根目录中。 如果你不想要这个,在这个脚本中添加适当的路径到所有复制的文件 - 例如:
copy('index.htm','index.htm.bak');
一定要有权访问所有的目录和文件! 请记得在假期后的几天给它打电话,以便恢复旧的index.htm。
这不是一个PHP解决方案。 这是一个SSH /命令行解决方案,也不是Cron Job。 花费大约2-5分钟。
假设您使用的是Linux托管计划,并且您的帐户已启用SSH(远程登录); 如果没有,您可以要求/致电GoDaddy为您的帐户启用此功能。
一旦你在命令行上,执行以下操作。
安全第一,所以备份所有的文件,我们要移动或混乱:
感恩节前:
感恩之后:
圣诞节前:
圣诞节后: