테스트 사이트 - 개발 중인 베타 버전입니다

자동글쓰기 문의 채택완료

남해 4년 전 조회 2,666

예전에 자동글쓰기 파일을 받아놓은적이있는데 사용하려고하니깐

사용을 잘되는데 원하는 닉네임과 원하는 제목으로 설정하고싶습니다

문제는 닉네임을 1000개 정도 넣어놓고 그중에 랜덤하게 나오게끔 하려고합니다

제목은 10개중에 한개 랜덤으로 나오게 설정하고싶은데 어떻게 해야하나요?

 

 

   

function board_write($bo_table, $subject, $content, $mb_id) // 글 생성 함수입니다. {     global $g5;     $mb = get_member($mb_id);      $write_table = "g5_write_{$bo_table}";     $wr_num = get_next_num($write_table);     $wr_reply = '';     $ca_name = "";     $html = "html1"; $secret=""; $mail = "";     $wr_subject = addslashes(trim($subject));     $wr_content = addslashes(trim($content));     $wr_link1 = "";     $wr_link2 = "";     $wr_email = "";     $wr_name = addslashes($bo[bo_use_name] ? $mb[mb_name] : $mb[mb_nick]);        $sql = " insert into $write_table                      set wr_num = '$wr_num',                      wr_reply = '$wr_reply',                      wr_comment = 0,                      ca_name = '$ca_name',                      wr_option = '$html,$secret,$mail',                      wr_subject = '$wr_subject',                      wr_content = '$wr_content',                      wr_link1 = '$wr_link1',                      wr_link2 = '$wr_link2',                      wr_link1_hit = 0,                      wr_link2_hit = 0,                      wr_hit = 0,                      wr_good = 0,                      wr_nogood = 0,                      mb_id = '$mb_id',                      wr_password = '',                      wr_name = '$wr_name',                      wr_email = '$wr_email',                      wr_homepage = '',                      wr_datetime = '".G5_TIME_YMDHIS."',                      wr_last = '".G5_TIME_YMDHIS."',                      wr_ip = '{$_SERVER['REMOTE_ADDR']}',                      wr_1 = '',                      wr_2 = '',                      wr_3 = '',                      wr_4 = '',                      wr_5 = '',                      wr_6 = '',                      wr_7 = '',                      wr_8 = '',                      wr_9 = '',                      wr_10 = '' ";     sql_query($sql);     $wr_id = sql_insert_id();     sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");     sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '$mb_id' ) ");     sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");     return true; }  

function parsehtml($site_url) { // curl을 이용하여 사이트를 불러오는 함수입니다.     $ch = curl_init();     curl_setopt($ch, CURLOPT_URL, $site_url);     curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36');     curl_setopt ($ch, CURLOPT_HEADER, 0);      curl_setopt ($ch, CURLOPT_TIMEOUT, 10);      curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);      $html = curl_exec($ch);     curl_close($ch);     return $html; }

function maxim() { // 명언 CSV 파일에서 명언을 랜덤하게 하나 불러오는 함수입니다.     $lines = file('g5_maxim.txt', FILE_IGNORE_NEW_LINES);     $randint = mt_rand(0, count($lines)-1);     return $lines[$randint]; }

function get_img_src($site_url) { // img 태그에서 src 속성을 불러오는 함수입니다.     $html2 = parsehtml($site_url);     $doc = new DOMDocument();     $doc->loadHTML($html2);     $xpath = new DOMXPath($doc);     $query = '//*[@id="img1"]';     $src = $xpath->query($query);     $img_url = $src[0]->getAttribute('src');     return $img_url; }

$mb_id = 'admin'; // 글을 생성할 때 사용할 id를 입력합니다. 없는 id의 경우 공백으로 처리될 수 있습니다. $bo_table = $_POST['select_table']; $number = $_POST['number']; $check = $_POST['check_image'];

if ($number < 1) {     echo ' '.'양수값을 입력해야 합니다.'; } else {     if ($check ==! 'no_image') { // 이미지를 불러오는 경우입니다.         $html1 = parsehtml('https://m.search.naver.com/search.naver?where=m_image&sm=mtb_jum&query=트와이스');         preg_match('||U', $html1, $div1);         preg_match_all('|main.read.nhn.(.*)\"|U', $div1[0], $hrefs, PREG_PATTERN_ORDER);         $result = array();         for ($p=1; $p <= $number; $p++) {             $randint = mt_rand(0, count($hrefs[1]));             $site_url = 'https://entertain.naver.com/read?'.$hrefs[1][$randint];             $img_url = get_img_src($site_url);             $img_tag = ' ';             $source = '출처 : '.$site_url.' '; // 이미지의 출처를 표시합니다.             $text = maxim();             $temp = explode('-', $text); // 제목은 명언에 포함된 성명으로 합니다.             $subject = trim($temp[count($temp) - 1]);                         $content = $img_tag.$source.$text.' 테스트 목적으로 작성된 글입니다.';             $result = board_write($bo_table, $subject, $content, $mb_id);         }     } else { // 원칙적으로 이미지 없이 텍스트로만 작성합니다.         for ($p=1; $p <= $number; $p++) {             $text = maxim();             $temp = explode('-', $text); // 제목은 명언에 포함된 성명으로 합니다.             $subject = trim($temp[count($temp) - 1]);             $content = $text.' 테스트 목적으로 작성된 글입니다.';             $result = board_write($bo_table, $subject, $content, $mb_id);         }     }     echo ' '.$bo_table.' 게시판에 '.$number.'개의 게시글을 생성하였습니다.'; } ?>

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
4년 전

$wr_name = 뒤 부분을 주석처리 하시고, 배열정보의 array_rand 함수를 넣으세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

남해
4년 전
function board_write($bo_table, $subject, $content, $mb_id) // 글 생성 함수입니다.
{
global $g5;
$mb = get_member($mb_id);
$write_table = "g5_write_{$bo_table}";
$wr_num = get_next_num($write_table);
$wr_reply = '';
$ca_name = "";
$html = "html1"; $secret=""; $mail = "";
$wr_subject = addslashes(trim($subject));
$wr_content = addslashes(trim($content));
$wr_link1 = "";
$wr_link2 = "";
$wr_email = "";
$array_data = array("홍길동", "홍길순");
$wr_name = array_rand($array_data);;


이렇게 넣었더니 이름이 0 이랑 1만뜨네요

댓글을 작성하려면 로그인이 필요합니다.

B
4년 전

</p>

<p><?php

    header('Content-Type: text/html; charset=utf-8');

?></p>

<p><!DOCTYPE html>

<head>

    <meta charset="utf-8">

</head></p>

<p><body>

<html>

<?php

    ini_set('display_errors', '0'); // 에러를 출력하지 않습니다.

    define('_INDEX_', true);

    include_once('./_common.php');</p>

<p>function board_write($bo_table, $subject, $content, $mb_id) // 글 생성 함수입니다.

{

    global $g5;

    $mb = get_member($mb_id);

    $write_table = "g5_write_{$bo_table}";

    $wr_num = get_next_num($write_table);

    $wr_reply = '';

    $ca_name = "";

    $html = "html1"; $secret=""; $mail = "";

    $wr_subject = addslashes(trim($subject));

    $wr_content = addslashes(trim($content));

    $wr_link1 = "";

    $wr_link2 = "";

    $wr_email = "";

    // $wr_name = addslashes($bo[bo_use_name] ? $mb[mb_name] : $mb[mb_nick]); // ★ 주석 처리

    static $wr_names = ['철수', '영희', '둘리','별명1', '별명2', '별명3']; // ★ 원하는 별명 추가

    shuffle($wr_names); // ★ 배열 섞기

    $wr_name = $wr_names[0]; // ★ 배열 첫 번째 값

 

    $sql = " insert into $write_table

                     set wr_num = '$wr_num',

                     wr_reply = '$wr_reply',

                     wr_comment = 0,

                     ca_name = '$ca_name',

                     wr_option = '$html,$secret,$mail',

                     wr_subject = '$wr_subject',

                     wr_content = '$wr_content',

                     wr_link1 = '$wr_link1',

                     wr_link2 = '$wr_link2',

                     wr_link1_hit = 0,

                     wr_link2_hit = 0,

                     wr_hit = 0,

                     wr_good = 0,

                     wr_nogood = 0,

                     mb_id = '$mb_id',

                     wr_password = '',

                     wr_name = '$wr_name',

                     wr_email = '$wr_email',

                     wr_homepage = '',

                     wr_datetime = '".G5_TIME_YMDHIS."',

                     wr_last = '".G5_TIME_YMDHIS."',

                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',

                     wr_1 = '',

                     wr_2 = '',

                     wr_3 = '',

                     wr_4 = '',

                     wr_5 = '',

                     wr_6 = '',

                     wr_7 = '',

                     wr_8 = '',

                     wr_9 = '',

                     wr_10 = '' ";

    sql_query($sql);

    $wr_id = sql_insert_id();

    sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");

    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '$mb_id' ) ");

    sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");

    return true;

}

 </p>

<p>function parsehtml($site_url) { // curl을 이용하여 사이트를 불러오는 함수입니다.

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $site_url);

    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36');

    curl_setopt ($ch, CURLOPT_HEADER, 0);

    curl_setopt ($ch, CURLOPT_TIMEOUT, 10);

    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

    $html = curl_exec($ch);

    curl_close($ch);

    return $html;

}</p>

<p>

function maxim() { // 명언 CSV 파일에서 명언을 랜덤하게 하나 불러오는 함수입니다.

    $lines = file('g5_maxim.txt', FILE_IGNORE_NEW_LINES);

    $randint = mt_rand(0, count($lines)-1);

    return $lines[$randint];

}</p>

<p>

function get_img_src($site_url) { // img 태그에서 src 속성을 불러오는 함수입니다.

    $html2 = parsehtml($site_url);

    $doc = new DOMDocument();

    $doc->loadHTML($html2);

    $xpath = new DOMXPath($doc);

    $query = '//*[@id="img1"]';

    $src = $xpath->query($query);

    $img_url = $src[0]->getAttribute('src');

    return $img_url;

}</p>

<p>

$mb_id = 'admin'; // 글을 생성할 때 사용할 id를 입력합니다. 없는 id의 경우 공백으로 처리될 수 있습니다.

$bo_table = $_POST['select_table'];

$number = $_POST['number'];

$check = $_POST['check_image'];</p>

<p>if ($number < 1) {

    echo '
'.'양수값을 입력해야 합니다.';

} else {

    if ($check ==! 'no_image') { // 이미지를 불러오는 경우입니다.

        $html1 = parsehtml('<a href="https://m.search.naver.com/search.naver?where=m_image&sm=mtb_jum&query=트와이스');" target="_blank" rel="noopener noreferrer">https://m.search.naver.com/search.naver?where=m_image&sm=mtb_jum&query=트와이스');</a>

        preg_match('|<div.class..timeline.thumb(.*)div>|U', $html1, $div1);

        preg_match_all('|main.read.nhn.(.*)\"|U', $div1[0], $hrefs, PREG_PATTERN_ORDER);

        $result = array();

        for ($p=1; $p <= $number; $p++) {

            $randint = mt_rand(0, count($hrefs[1]));

            $site_url = '<a href="https://entertain.naver.com/read?'.$hrefs[1][$randint];" target="_blank" rel="noopener noreferrer">https://entertain.naver.com/read?'.$hrefs[1][$randint];</a>

            $img_url = get_img_src($site_url);

            $img_tag = '<img src = "'.$img_url.'">

';

            $source = '출처 : '.$site_url.'

'; // 이미지의 출처를 표시합니다.

            $text = maxim();

            $temp = explode('-', $text); // 제목은 명언에 포함된 성명으로 합니다.

            $subject = trim($temp[count($temp) - 1]);            

            $content = $img_tag.$source.$text.'

 테스트 목적으로 작성된 글입니다.';

            $result = board_write($bo_table, $subject, $content, $mb_id);

        }

    } else { // 원칙적으로 이미지 없이 텍스트로만 작성합니다.

        for ($p=1; $p <= $number; $p++) {

            $text = maxim();

            $temp = explode('-', $text); // 제목은 명언에 포함된 성명으로 합니다.

            $subject = trim($temp[count($temp) - 1]);

            $content = $text.'

 테스트 목적으로 작성된 글입니다.';

            $result = board_write($bo_table, $subject, $content, $mb_id);

        }

    }

    echo '
'.$bo_table.' 게시판에 '.$number.'개의 게시글을 생성하였습니다.';

}

?>

</html></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

남해
4년 전
정말 감사합니다 혹시 한가지 더 여쭤봐도 될까요?
해당글 작성시 비밀글로 작성하려고합니다 어떻게 해야할까요?
B
BiHon
4년 전
[code]
$html = "html1"; $secret=""; $mail = "";

$html = "html1"; $secret="secret"; $mail = "";
[/code]
남해
4년 전
감사합니다 !

댓글을 작성하려면 로그인이 필요합니다.

4년 전

</p>

<p><font face="monospace"><span style="font-size: 11.375px;">// 이렇게 변경을 해보세요.</span></font></p>

<p>$array_data = array("홍길동", "홍길순");</p>

<p>$array_rand = array_rand($array_data);

$wr_name = $array_data[$array_rand];</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

남해
4년 전
정말 감사합니다 혹시 한가지 더 여쭤봐도 될까요?
해당글 작성시 비밀글로 작성하려고합니다 어떻게 해야할까요?

댓글을 작성하려면 로그인이 필요합니다.

4년 전

</p>

<p>// 배열 정보선언</p>

<p>$array_data = array("홍길동", "홍길순");</p>

<p>$nick_name = array_rand($array_data);</p>

<p> </p>

<p>// 배열로 데이터를 만드신 뒤 array_rand 함수로 그중에 하나를 가져옵니다.</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

남해
4년 전
어디부분에 넣어야하나요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인