Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2008, 05:04   #1
samiro
Новичок
Джуниор
 
Регистрация: 06.02.2008
Сообщений: 1
Сообщение Нужно реализовать на php такую штуку

Нужно реализовать на php такую штуку, каждый час из txt1 в txt2 копировать одну строку, то есть если строк в txt1 - 10, то сначала копируется первая через час вторая, в txt2. Но при этом заменяет ту что уже есть в txt2. Я имею обычный платный хост с PHP 4.


Еще подробней

содержимое txt1:
строка 1
строка 2
строка 3
...

содержимое txt2, по часам:
13:00
строка 1 (из txt1)

14:00
строка 2

15:00
строка 3
...

Как я понимаю здесь задействован Cron, но и в настройке его я не силен( Но может тот кто силен в PHP поможет мне с ним а кто знаком с Cron напишет про него. Я имею обычный платный хост с PHP 4.

Если кто рубит в этом или знает где можно найти подобное, помогите!
samiro вне форума Ответить с цитированием
Старый 06.02.2008, 20:49   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Cron. Больше ничего. Кстати, советую переименовать название темы - а то не понятно, что тут обсуждается.
SkyM@n вне форума Ответить с цитированием
Старый 08.02.2008, 22:51   #3
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Узначит такъ... Написал простейший код, который нужно запускать раз в час. Он будет из файла users.txt добавлять строчку №час в файл pass.txt. Например в 18 часов он возьмёт строчку №19 (!!!), потому что первая строчка соответствует 0 часов, вторая 1 час ночи, третья 2 часа ночи и т.д.
Структура файла-приёмника была неясна, но я увидел по примеру, что там три строчки идут. Время, строчка из файла-исходника и пустая строка-разделитель. Поэтому например, если запустить скрипт с помощью крона в 18:00 по времени сервера, то скрипт в файл pass.txt впишет 3 строчки. "18:00", потом строчку из файла исходника и плюс пустую строчку-разделитель. Если файла-приёмника нет, то он его создаст автоматически и заполнит его 72 пустыми строками, и соответствено исполнит своё предназначение.. ))

Конечно, это полный сырец, много всего доработать нужно, сделать проверки повторных запусков, переделать под Линукс, если у вас хостер на линуксе (сорри, я писал на локальной машине, под виндой), но смысл скрипта, думаю ясен. Удачи!

PHP код:
<?php

$file_a_name 
"users.txt";
$file_b_name "pass.txt";

$filea fopen($file_a_name"rtb");
if (!
$filea) echo "Не открылся файл ".$file_a_name;
$content_a fread($fileafilesize($file_a_name));
$lines_a explode("\n"$content_a);
fclose($filea);

if (
file_exists($file_b_name)) {$fileb fopen($file_b_name"r+tb");} else {$fileb fopen($file_b_name"wtb");}
if (!
$fileb) echo "Не открылся файл ".$file_b_name;
@
$content_b fread($filebfilesize($file_b_name));
$lines_b = array();
if (
$content_b) {$lines_b explode("\n"$content_b);} else {$lines_b array_fill(0,72,"");}
fclose($fileb);
$hour date("G");
$time $hour.":00";
$count_lines_a count($lines_a);
$count_lines_b count($lines_b);

if ((
$count_lines_b*>= $hour) && ($count_lines_a >= $hour)) {
    
$lines_b[$hour*3] = $time;
    
$lines_b[$hour*3+1] = $lines_a[$hour];
    
$lines_b[$hour*3+2] = "";
    
$fileb fopen($file_b_name"wtb");
    while (list(
$key$value) = each($lines_b)) {
    
fwrite($fileb,$value."\n");
    }
    
fclose($fileb);
} else { echo 
"Что за фигню вы тут понаписали, сэр?<br>\n"; }
?>
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите решить такую задачу: Haret Паскаль, Turbo Pascal, PascalABC.NET 12 20.12.2015 11:36
Кто сможет написать такую весЧъ??? За много WMZ!!! :) Terron Фриланс 4 17.01.2008 17:14
Реализовать такую тему как в винде ( arp -a ), получить ARP таблицу APOSTOL Работа с сетью в Delphi 3 07.06.2007 12:15
Как на Delphi написать такую лёгкую прогу?(Помогите нубу)) FreXx^24 Общие вопросы Delphi 7 22.03.2007 14:03