Cron Job для переименования веб-страниц

Во-первых, позвольте мне сказать, что я ничего не знаю о Cron Jobs или файлах PHP, поэтому, пожалуйста, помните о моем статусе новичка, если вы любезны ответить — (используйте маленькие слова и говорите медленно!)

Я являюсь веб-мастером для сайта нашей организации, и я пытаюсь сделать что-то, что должно быть простым, но трудоемким: зайдите на главную веб-страницу на нашем сайте и автоматически обновите ее во время Дня благодарения и Рождества. Я уже создал конкретные веб-страницы, которые мне нужны, и загрузил их на сервер GoDaddy, но у меня действительно нет времени, чтобы войти и вручную переименовать страницы по мере приближения дней; Мне сказали, что Cron Job будет просто использоваться для автоматического сохранения существующей страницы и переименования новой страницы.

Вот что конкретно я хочу сделать:
1) Файл Index.htm, расположенный в корневом каталоге, сохраняется или переименовывается, чтобы я мог вернуться к нему после окончания праздников.
2) Файл с именем / Holiday Pages / happy_thanksgiving.htm перемещен в корневой каталог 25 ноября и переименован в index.htm. То же самое с файлом с именем merry_christmas.htm 24 декабря.
3) GoDaddy имеет панель управления Cron Job, которая позволяет мне запускать определенный скрипт в определенный день в определенное время, поэтому я не думаю, что коды даты нужно было бы встраивать в сам скрипт — но я не ключ к разгадке этого сценария — от общения с людьми в GoDaddy они предлагают сценарий PHP.
4) Внутри этого PHP-скрипта, какие именно команды мне нужно написать (конкретные примеры, пожалуйста — пример скрипта был бы потрясающим и САМОЕ ценным!
5) Каким должно быть расширение для этого скрипта? .TXT или .PHP ??

Заранее спасибо! Опять же, пожалуйста, помните, что я нахожусь здесь над головой — и извините за мое невежество!

——————————————————-ОБНОВЛЕНИЕ 111/15/14 ——————————————— ————
Вот то, что я пробовал до сих пор, используя некоторые из ваших предложений — номера 1) 2) и т. Д. — это номера пробных сценариев, которые затем вызывались Cron Job Manager GoDaddy.

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');

1

Решение

Лучшее решение — создавать файлы и код динамически включать файл в соответствии с датой, пример кода приведен ниже:

$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);

Простая логика, будет работать нормально

0

Другие решения

Просто создайте файл и назовите его, например, 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.

0

Это не решение PHP. Это решение SSH / командной строки, а также не Cron Job. Занимает около 2-5 минут.

Предполагая, что у вас есть хостинг-план Linux, и что SSH (удаленный вход) включен для вашей учетной записи; Если нет, вы можете попросить / позвонить в GoDaddy, чтобы включить эту функцию для вашей учетной записи.

Когда вы находитесь в командной строке, выполните следующие действия.

Безопасность прежде всего, поэтому сделайте резервную копию всех файлов, которые мы будем перемещать или связываться с:

  1. cd PUBLIC_ROOT_DIR
  2. cp «index.htm» «index.htm.bak»
  3. cp «Праздничные страницы / happy_thanksgiving.htm» «Праздничные страницы / happy_thanksgiving.htm.bak»
  4. cp «Праздничные страницы / merry_christmas.htm» «Праздничные страницы / merry_christmas.htm.bak»

Перед Днем благодарения:

  1. cd PUBLIC_ROOT_DIR
  2. mv «index.htm» «index.htm.off»
  3. mv «Праздничные страницы / happy_thanksgiving.htm» «index.htm»

После благодарения:

  1. cd PUBLIC_ROOT_DIR
  2. mv «index.htm» «happy_thanksgiving.htm.off»
  3. mv «index.htm.off» «index.htm»

Перед Рождеством:

  1. cd PUBLIC_ROOT_DIR
  2. mv «index.htm» «index.htm.off»
  3. mv «Праздничные страницы / merry_christmas.htm» «index.htm»

После Рождества:

  1. cd PUBLIC_ROOT_DIR
  2. mv «index.htm» «merry_christmas.htm.off»
  3. mv «index.htm.off» «index.htm»
0

Как многие из вас упоминали, CRON JOB не был хорошим вариантом; скорее скрипт перенаправления, который переводит веб-пользователя на правильную страницу в зависимости от даты сервера. Мне удалось получить большую помощь от друга, который зарабатывает на жизнь — и, хотя этому посту уже более года, я подумал, что поделюсь окончательным результатом и рабочим сценарием о том, что другие могут получить та же проблема. Обратите внимание, что этот скрипт установлен в корне веб-сервера и называется «index.html». Также создается веб-страница, которая используется для нерабочего дня и называется «main.html», и сценарий использует эту страницу, если список условий не выполняется.

Это решение работает очень хорошо для нас, и я очень ценю все ответы!

 <!DOCTYPE html>
<!--
-->
<html>
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>

<script type="text/javascript">
var today = new Date();

var newyear1 = new Date("2016-12-30");
var newyear2 = new Date("2016-01-05");

var valentines1 = new Date("2016-02-14");
var valentines2 = new Date("2016-02-16");

var spring_forward1 = new Date("2016-03-07");
var spring_forward2 = new Date("2016-03-16");

var easter1 = new Date("2016-03-20");
var easter2 = new Date("2016-03-29");

var easter3 = new Date("2016-03-28");
var easter4 = new Date("2016-03-30");

var mothers_day1 = new Date("2016-05-07");
var mothers_day2 = new Date("2016-05-11");

var memorial_day1 = new Date("2016-05-27");
var memorial_day2 = new Date("2016-06-02");

var fathers_day1 = new Date("2016-06-18");
var fathers_day2 = new Date("2016-06-21");

var july_4th1 = new Date("2016-07-04");
var july_4th2 = new Date("2016-07-06");

var laborday1 = new Date("2016-09-04");
var laborday2 = new Date("2016-09-09");

var election1 = new Date("2016-11-07");
var election2 = new Date("2016-11-10");

var thanksgiving1 = new Date("2016-11-20");
var thanksgiving2 = new Date("2016-11-30");

var xmas1 = new Date("2016-12-10");
var xmas2 = new Date("2016-12-30");

// default index page. if no date ranges match, this page will     be     used.
var pageName = "main.html";// new_year 2016
if(today >= newyear1 && today <= newyear2)
{
pageName = "/holiday_pages/happy_new_year.html";
}

// Valentines 2016
if(today >= valentines1 && today <= valentines2)
{
pageName = "/holiday_pages/valentines.html";
}

// time_change_forward 2016
if(today >= spring_forward1 && today <= spring_forward2)
{
pageName = "/holiday_pages/spring_forward.html";
}

// Easter General 2016
if(today >= easter1 && today <= easter2)
{
pageName = "/holiday_pages/easter_1.html";
}

// Easter Resurrection 2016
if(today >= easter3 && today <= easter4)
{
pageName = "/holiday_pages/easter_2.html";
}

// Mothers Day 2016
if(today >= mothers_day1 && today <= mothers_day2)
{
pageName = "/holiday_pages/mothers_day.html";
}

// Memorial Day 2016
if(today >= memorial_day1 && today <= memorial_day2)
{
pageName = "/holiday_pages/memorial_day.html";
}

// Fathers Day 2016
if(today >= fathers_day1 && today <= fathers_day2)
{
pageName = "/holiday_pages/fathers_day.html";
}

// July 4th 2016
if(today >= easter3 && today <= july_4th)
{
pageName = "/holiday_pages/july_4th.html";
}

// labor_day 2016
if(today >= laborday1 && today <= laborday2)
{
pageName = "/holiday_pages/labor_day.html";
}

// Election Day 2016
if(today >= election1 && today <= election2)
{
pageName = "/holiday_pages/election_day.html";
}

// Thanksgiving 2016
if(today >= thanksgiving1 && today <= thanksgiving2)
{
pageName = "/holiday_pages/happy_thanksgiving.html";
}

// Christmas 2016
if(today >= xmas1 && today <= xmas2)
{
pageName = "/holiday_pages/merry_christmas.html";
}// redirect to pageName
document.location.href = pageName;

</script>
</body>
</html>
0
По вопросам рекламы [email protected]