관리자님이 올리신 포인트 몇일후 지급...소스 해석 부탁드립니다.

관리자님이 올리신 이소스 어떻게 적용하는지 쉽게 설명 부탁합니다.
 
포인트가 지급되는 날짜는 point_skin.php 어디에 삽입하고 맨 아래줄
 
 
crontab 에 추가한 후 사용하시면 됩니다.

crontab -e  
 
0 4 * * * su - root -c '/절대경로/point_skin.php'
 
이것은 무슨 말인지요 ... ~..~
 
 
 
그리고 몇일전.게시판배열과 포인트배열 부분설명 부탁합니다
 
무엇을 어떻게 하면 바로 적용하여 사용할 수 있는지요.
 
뭘지우고 뭐뒤에 뭘삽입하고 이런식으로 지도바랍니다.

 
 
point_skin.php

----- 소스코드 ----

#!/usr/local/bin/php -q
<?php

// 포인트를 몇일후에 부여하는 스크립트

include "/절대경로/config.php";
include "/절대경로/lib/common.lib.php";

include "/절대경로/dbconfig.php";
$connect = @mysql_connect($mysql_host, $mysql_user, $mysql_password);
$select_db = @mysql_select_db($mysql_db, $connect);
if (!$select_db) {
    echo "DB 접속 오류";
    exit;
}

$config[cf_use_point] = 1;

// 몇일전
$before3day = date("Y-m-d", time() - (86400 * 3));
$before9day = date("Y-m-d", time() - (86400 * 9)); // 포인트정리가 되었을지 모르므로

// 게시판 배열
$arr_bo_table = array("g4_skin", "g3_skin", "self_program", "cm_gallery");
// 포인트 배열 (게시판의 갯수와 동일하게 설정)
$arr_bo_point = array(10000, 10000, 5000, 1000);

$k = 0;
for ($i=0; $i<count($arr_bo_table); $i++)
{
    $bo_table = $arr_bo_table[$i];
    $bo_point = $arr_bo_point[$i];

    $sql = " select wr_id, wr_subject, a.mb_id, b.po_rel_id
              from {$g4[write_prefix]}{$bo_table} a
              left join $g4[point_table] b
                      on (a.wr_id=b.po_rel_id and b.po_rel_table='$bo_table' and a.mb_id=b.mb_id)
              where wr_is_comment = 0
                and wr_datetime between '{$before9day}' and '{$before3day}'
              order by wr_id ";
    $result = sql_query($sql);
    while($row = sql_fetch_array($result))
    {
        if (!$row[po_rel_id])
            insert_point($row[mb_id], $bo_point, get_text($row[wr_subject]) . ' : 포인트 자동 부여', $bo_table, $row[wr_id], '자동포인트');
    }
}
?>


crontab 에 추가한 후 사용하시면 됩니다.



crontab -e

0 4 * * * su - root -c '/절대경로/point_skin.php'
 
----------------------------------------
 
여기 까지가 관리자님 설명입니다
|

댓글 7개

리눅스에 crontab 이라는 명령어가 있는데 이 기능을 사용할수있어야 사용가능한 팁입니다.
보통 호스팅에서는 crontab을 지원하지 않는 것으로 알고있습니다.

>crontab -e
>
>0 4 * * * su - root -c '/절대경로/point_skin.php'

위내용은 crontab에 "매일 04시에 root의 권한으로 '/절대경로/point_skin.php' 파일을 실행"하라는
내용을 등록하는것입니다.
전 집에서 window xp pro에 APM_SETUP5 이걸 사용하고 있는데 위의 팁을 사용할 수 없는 것입니까..?

// 게시판 배열
$arr_bo_table = array("g4_skin", "g3_skin", "self_program", "cm_gallery");
// 포인트 배열 (게시판의 갯수와 동일하게 설정)
$arr_bo_point = array(10000, 10000, 5000, 1000);

("g4_skin", "g3_skin", "self_program", "cm_gallery"); 요 게시판의 순서데로

(10000, 10000, 5000, 1000); 요만큼의 점수를 주어라 이 말이지요...??
crontab이라는것이 윈도우에 있는 스케쥴러와 동일한기능이라고 생각하시면 됩니다.
스케쥴러에 위의 내용을 설정하시면될것 같습니다.

그리고 게시판 배열과 포인트 배열은
각 게시판에 각 포인트만큼의 점수를 주라는 얘기입니다.
1번째 게시판에 1번째 포인트를.... ^^
으윽~..~

스케쥴러는 어디에 있지요 ... ??? 그곳에 위 소스의 점수 게시판이름 등만 손봐서 복사해 넣으면 되나요..?

그리고

and wr_datetime between '{$before9day}' and '{$before3day}' 이것이 날짜 같은데 9일과 3일은 뭔뜻인지요.

한 2일정도 후에 포인트가 지급되게 할려면 어떻게 해야 할까요.




crontab 에 추가한 후 사용하시면 됩니다. <=이것은 빼야되는 문구일것이고



crontab -e <=요문구 ... 수정없이 그냥 집어 넣나요..??

0 4 * * * su - root -c '/절대경로/point_skin.php'
대단히 죄송한 부탁입니다만

소스를 2일후에 지급되게 작성하신 후 올려 주시면서 ...

이걸 어떻게 어떻게 복사해 넣어라 이렇게 해주시면 매우 고맙겠습니다만

무리 인가요 .......???

위의 팁을 꼭 써보고 싶어서 그럼니다. ~..~ 실력은 않되고 ...요.
>// 몇일전
>$before3day = date("Y-m-d", time() - (86400 * 3));
>$before9day = date("Y-m-d", time() - (86400 * 9)); // 포인트정리가 되었을지 모르므로

3일에서 2일로 변경하실려면 위의 소스에서 3을 2로 변경하시면 될것 같습니다.
>$before3day = date("Y-m-d", time() - (86400 * 2));

그리고 위의 파일을 만들어두시고
스케뷸러(보조프로그램 > 시스템도구 > 예약된작업)에 만들어진 파일을 호출가능하도록 설정하시면 됩니다.

그러면 스케쥴러에 등록된 시간마다 설정하신 프로그램을 자동으로 실행해줄겁니다.
이해는 잘 않되지만 한번 도전해 보겠습니다

답변감사드립니다.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 1,603
19년 전 조회 1,539
19년 전 조회 1,670
19년 전 조회 5,242
19년 전 조회 1,682
19년 전 조회 1,606
19년 전 조회 1,626
19년 전 조회 1,838
19년 전 조회 1,507
19년 전 조회 1,611
19년 전 조회 1,507
19년 전 조회 1,530
19년 전 조회 1,798
19년 전 조회 1,653
19년 전 조회 1,432
19년 전 조회 1,736
19년 전 조회 1,466
19년 전 조회 1,516
19년 전 조회 1,510
19년 전 조회 1,741
🐛 버그신고