Реклама на сайте Advertise with us

Гуру php, помогите с кодом

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Soul's Buyer

С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740


Передовик Master-X (16.10.2008) Передовик Master-X (01.11.2008) Передовик Master-X (16.11.2008) Передовик Master-X (01.12.2008) Передовик Master-X (16.12.2008) Ветеран трепа Master-X (01.01.2009)
Ссылка на сообщениеДобавлено: 12/05/12 в 16:19       Ответить с цитатойцитата 

Автор не онлайн, а сам я блять боюсь накосячить и потом откатывацо с бекапа ...
Код:

Код:


<?php
$base_file = $_SERVER['DOCUMENT_ROOT'].'/porn/data/1_base.dat';
$testtable_file = $_SERVER['DOCUMENT_ROOT'].'/porn/data/1_testable.dat';

if (false == file_exists($testtable_file)) {
   print 'Cannot find '.$testtable_file;
   die();
}

if (false == file_exists($base_file)) {
   print 'Cannot find '.$base_file;
   die();
}

$size = filesize($testtable_file);
if ($size > 5) {
   
   $file_content = file($testtable_file);
   unset($file_content[0]);
   $content = implode("", $file_content);
   
   copy($base_file, $base_file.'.'.time());
   
   $fp = fopen($base_file, 'a');
   if (!$fp) {
      print "Cannot open file $base_file for writing.";
      die();
   }
   
   fwrite($fp, $content);
   fclose($fp);
   
   file_put_contents($testtable_file,null);
   
   print "Two files joined.";
} else {
   print "No action required";
}
?>



Ну понятно, что из файла 1_testable переносит содержимое в файл 1_base.

Код для случая, когда файлов этих только два, они за номером 1.
Сейчас этих файлов 100, т.е. надо в верхних переменных циклом плюсить по еденичке сто раз, в диапазоне 1-100, т.е. из файла 1_testable.dat мувить всё в 1_base.dat, а из файла 74_testable.dat мувить всё в 74_base.dat, например. Короче данный код надо выполнить 100 раз, каждый раз прибавляя 1 к переменным вверху.

Подскажите, как добавить этот цикл. Желательно для диапазона ввести переменную, т.е. скажем если переменная вписана 100 - будет диапазон 1-100 в цикле, если переменная 50 - будет 1-50.

0
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 12/05/12 в 16:35       Ответить с цитатойцитата 

Код:

$my_param = 100; // ставь скоко нада.
for ($i=0; $i<=$my_param; ++$i) // от 1 до нужного тебе числа.
{
$base_file = $_SERVER['DOCUMENT_ROOT'].'/porn/data/'.$i.'_base.dat';
$testtable_file = $_SERVER['DOCUMENT_ROOT'].'/porn/data/'.$i.'_testable.dat';

if (!file_exists($testtable_file)) { // так попроще ))
   print 'Cannot find '.$testtable_file;
   die();
}

if (!file_exists($base_file)) {
   print 'Cannot find '.$base_file;
   die();
}

$size = filesize($testtable_file);
if ($size > 5) {
   
   $file_content = file($testtable_file);
   unset($file_content[0]);
   $content = implode("", $file_content);
   
   copy($base_file, $base_file.'.'.time());
   
   $fp = fopen($base_file, 'a');
   if (!$fp) {
      print "Cannot open file $base_file for writing.";
      die();
   }
   
   fwrite($fp, $content);
   fclose($fp);
   
   file_put_contents($testtable_file,null);
   
   print "Two files joined.";
} else {
   print "No action required";
}
}

9
 

Soul's Buyer

С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740


Передовик Master-X (16.10.2008) Передовик Master-X (01.11.2008) Передовик Master-X (16.11.2008) Передовик Master-X (01.12.2008) Передовик Master-X (16.12.2008) Ветеран трепа Master-X (01.01.2009)
Ссылка на сообщениеДобавлено: 12/05/12 в 16:44       Ответить с цитатойцитата 

Спасибо, щас затестируем icon_smile.gif)
Но $i=0 это конечно эпик фейл на тему "программисты считают с нуля" icon_smile.gif

0
 

Soul's Buyer

С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740


Передовик Master-X (16.10.2008) Передовик Master-X (01.11.2008) Передовик Master-X (16.11.2008) Передовик Master-X (01.12.2008) Передовик Master-X (16.12.2008) Ветеран трепа Master-X (01.01.2009)
Ссылка на сообщениеДобавлено: 12/05/12 в 17:04       Ответить с цитатойцитата 

Ailk: Спасибо, работает! Ну точно гуру smail27.gif

1
 

Soul's Buyer

С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740


Передовик Master-X (16.10.2008) Передовик Master-X (01.11.2008) Передовик Master-X (16.11.2008) Передовик Master-X (01.12.2008) Передовик Master-X (16.12.2008) Ветеран трепа Master-X (01.01.2009)
Ссылка на сообщениеДобавлено: 12/05/12 в 17:24       Ответить с цитатойцитата 

Вот, ещё тема есть icon_smile.gif

Есть некий код:

Код:

<?php
require("./admin/config.php");
require_once($setup['files_path']."admin/fun.inc.php");
$calc_time = FileReadLine($setup['files_path']."data/calctime.dat");

if(mktime() - $calc_time > $setup['update_time'])
{FileWrite($setup['files_path']."data/calctime.dat",mktime());
include($setup['files_path']."calculate.php");
calculate();}$graber_time = FileReadLine($setup['files_path']."data/grabertime.dat");

if(mktime() - $graber_time > $setup['grabing_period']) {FileWrite($setup['files_path']."data/grabertime.dat",mktime());
include("parser.php");
include("graber.php");}
?>


выполняется он по крону раз в минуту. Файлы с функциями этими (parser, graber и т.д. зазенденные). Что мне надо ? Мне надо модифицировать этот файл таким образом, чтобы при каждом его вызове (не смотря ни на какие там математические блять вычисления и переменные) отработали только

include("parser.php");
include("graber.php");

эти две строчки. Остальное, которое calculate.php, мне не надо чтобы в нём отрабатывали. Я вобщем хочу отдельными кронами прописать этот модифицированный файл, грабер (последние эти две строчки чтоб работали только в нём), чтобы он несколько раз в минуту выполнялся, чтоб быстрее грабил. Просто вызов его из крона эффекта не даёт никакого. Просто прописывание крона несколько раз в минуту меня не устраивает, т.к. calculate этот нехило грузит всё и его много раз в минуту нехорошо выполнять, да и вычисления эти мешают, даже если прописать крон 6 раз в минуту - больше 3-х выполнить не даёт.

первый иф надо убрать нахуй, второй иф надо кастрировать, чтобы он выполнился полюбасу, как-то так ...

0
 

Soul's Buyer

С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740


Передовик Master-X (16.10.2008) Передовик Master-X (01.11.2008) Передовик Master-X (16.11.2008) Передовик Master-X (01.12.2008) Передовик Master-X (16.12.2008) Ветеран трепа Master-X (01.01.2009)
Ссылка на сообщениеДобавлено: 12/05/12 в 17:50       Ответить с цитатойцитата 

Код:
<?php
require("./admin/config.php");
require_once($setup['files_path']."admin/fun.inc.php");
$graber_time = FileReadLine($setup['files_path']."data/grabertime.dat");

FileWrite($setup['files_path']."data/grabertime.dat",mktime());
include("parser.php");
include("graber.php");
?>


или есть ещё чё-то лишнее там ?

0
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 12/05/12 в 18:07       Ответить с цитатойцитата 

Woland писал:
Спасибо, щас затестируем icon_smile.gif)
Но $i=0 это конечно эпик фейл на тему "программисты считают с нуля" icon_smile.gif

Ну, в последней части цикла for стоит сначала добавление инкремента, только потом выполнение, поэтому будет прописываться как нада на выводе ))

Касательно кода с граббером смари.
эта часть кода:
Код:

$graber_time = FileReadLine($setup['files_path']."data/grabertime.dat"); // считывается последнее время обновления вероятно

if(mktime() - $graber_time > $setup['grabing_period']) // тут проверка прошедшего времени с последнего обновления по внутренним настройкам граббера твоего.
{ // собсна дальше запись времени текущего времени (для посл. проверок) и выполнение.
  FileWrite($setup['files_path']."data/grabertime.dat",mktime());
  include("parser.php");
  include("graber.php");
}

запускает граббер по своему времени (которое видимо установлено в настройках граббера )) Надеюсь понял.

в итого получаем:
Код:

require("./admin/config.php");
require_once($setup['files_path']."admin/fun.inc.php");
$graber_time = FileReadLine($setup['files_path']."data/grabertime.dat");

if(mktime() - $graber_time > $setup['grabing_period']) {FileWrite($setup['files_path']."data/grabertime.dat",mktime());
include("parser.php");
include("graber.php");}
Для граббера, и:
Код:

require("./admin/config.php");
require_once($setup['files_path']."admin/fun.inc.php");
$calc_time = FileReadLine($setup['files_path']."data/calctime.dat");

if(mktime() - $calc_time > $setup['update_time'])
{
FileWrite($setup['files_path']."data/calctime.dat",mktime());
include($setup['files_path']."calculate.php");
calculate();
}

для калькуляции. Принцип тот же что и у граббера.

П.С.
Я не гуру, я тока учусь ))

8
 

Soul's Buyer

С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740


Передовик Master-X (16.10.2008) Передовик Master-X (01.11.2008) Передовик Master-X (16.11.2008) Передовик Master-X (01.12.2008) Передовик Master-X (16.12.2008) Ветеран трепа Master-X (01.01.2009)
Ссылка на сообщениеДобавлено: 12/05/12 в 18:26       Ответить с цитатойцитата 

Ailk: Не, надо $i=1; я просто с 0 запустил - оно написало, что нет нихуя такого файла и выпало из цикла icon_smile.gif А при 1 отработало нормательно.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »