본문 바로가기

ChatGPT가 짜준 PHP 코딩 예 3

2023. 3. 18. 댓글 개
반응형

ChatGPT가 짠 PHP 코딩 3번째 이야기입니다.

 

내가 필요한 상황

여러 링크를 랜덤으로 실행하는 것은 이미 알고 있습니다.
그런데, 만약 링크가 만료되었는데 계속 노출되고 있다면 트래픽을 잃게 되는거죠
그래서 각 링크별 만료일을 지정하고 만료된 링크는 랜덤으로 가져오지 않게 하고 싶었습니다.

챗봇이 짠 랜덤코드 샘플

 

ChatGPT가 알려준 코딩

<?php
//링크의 유효기간을 정의 후 유효한 링크로 램덤으로 이동하는 소스 코드
//2023.03.17 by ChatGPT

// 링크 주소와 종료시점을 연관 배열로 정의합니다.
$link_addresses = array(
    "https://vegetarian.kr" => "2023-03-16 23:59:59",
    "https://smarttaxservice.com" => "2023-03-21 23:59:59",
    "https://cost-cut.com" => "2023-03-17 18:00:59",
    "https://giftjoa.biz" => "2023-03-23 23:59:59",
    "https://weddingnews.co.kr" => "2023-03-24 23:59:59"
);

// 현재 시간과 유효기간을 비교하여 유효한 링크 주소를 새로운 배열에 저장합니다.
$valid_links = array();
foreach ($link_addresses as $link_address => $end_time) {
    if (strtotime($end_time) > time()) {
        $valid_links[] = $link_address;
    }
}

// 새로운 배열에서 랜덤하게 하나의 링크를 선택하여 실행합니다.
if (count($valid_links) > 0) {
    $random_link = $valid_links[array_rand($valid_links)];
    header("Location: $random_link");
    exit();
} else {
    echo "유효한 링크가 없습니다.";
}
?>

 

 

실행 결과

서버에 테스트해 보니 정상적으로 작동하는 코드로 확인되었습니다.

https://url.kr/page/web/sample/chatgpt_code_03.php

 

웨딩박람회 일정 | 웨딩뉴스

웨딩뉴스

weddingnews.co.kr

 

수정 / 업데이트

갑자기 이런 생각이 들었습니다. 만약 모든 링크가 만료 되었을때 위 코드에서는 "유효한 링크가 없습니다"를 보여주는 것 같은데 이것도 트래픽 손실 같아, 기본 링크 주소를 입력 해 두고 모든 링크의 유효기간이 만료되었을땐 기본링크로 보내고 싶은 것이였습니다. 그래서 다음과 같은 명령어를 주고 수정된 코드를 받았습니다.

 

아래 코드에서 유요한 링크가 없습니다 대신 naver.com 링크를 기본값을 넣고 싶습니다. 코드를 수정해주세요.

 

//링크의 유효기간을 정의 후 유효한 링크로 램덤으로 이동하는 소스 코드
//2023.03.17 by ChatGPT

// 링크 주소와 종료시점을 연관 배열로 정의합니다.
$link_addresses = array(
    "https://vegetarian.kr" => "2023-03-16 23:59:59",
    "https://smarttaxservice.com" => "2023-03-21 23:59:59",
    "https://cost-cut.com" => "2023-03-17 18:00:59",
    "https://giftjoa.biz" => "2023-03-23 23:59:59",
    "https://weddingnews.co.kr" => "2023-03-24 23:59:59"
);

// 현재 시간과 유효기간을 비교하여 유효한 링크 주소를 새로운 배열에 저장합니다.
$valid_links = array();
foreach ($link_addresses as $link_address => $end_time) {
    if (strtotime($end_time) > time()) {
        $valid_links[] = $link_address;
    }
}

// 새로운 배열에서 랜덤하게 하나의 링크를 선택하여 실행합니다.
if (count($valid_links) > 0) {
    $random_link = $valid_links[array_rand($valid_links)];
    header("Location: $random_link");
    exit();
} else {
    $default_link = "https://www.naver.com";
    header("Location: $default_link");
    exit();
}

chatgpt의 코드 생성 후 설명도 정확 하네요.

"링크가 없을 경우, $default_link 변수에 저장된 기본 링크인 "https://www.naver.com"으로 이동합니다."

 

 

Updated: 2023/03/19

생각해보니 위와 같이 해도 되지만 더 간단한 방법이 있었네요.

처음 윗부분 링크를 배열로 추가할때 디폴트 링크값을 2024년 12월 31일 처럼 길게 넣어 두면 다른 링크들이 모두 만료 되었을때 디폴드 링크값만 노출되겠네요. 결국 같은 결과를 가져오지만 더 쉬운 간단한 방법이 있었네요.

* 역시 프로그램의 정답은 없고, 코드를 짜를 사람마다 스타일이나 역량에따라 다양한 중간 과정이 나오는 것 같습니다.  

 

 

마무리

기존 코드를 살짝 응용하고 싶을 때 기존 코드를 제시하고 수정해 줘~ 그랬더니 바로 만들어 주네요.

ChatGPT로 프로그램 코드까지 짠다는 것이 거짓말이 아니네요.

 

이글의 단축URL https://late40s.tistory.com/327

 

 

함께보면 좋은 글

ChatGPT가 짜준 PHP 코딩 예 1

 

ChatGPT가 짜준 PHP 코딩 예 1

chatGPT가 프로그램도 짜준다고 해서 한번 해봤습니다. 결론적으로 챗봇이 만든 결과물에 놀랐습니다. 하지만 챗봇에게 프로그램을 짜라고 명령을 할때 그들이 하는 대화체 변경해서 요청하면 더

late40s.tistory.com

 

ChatGPT가 짜준 PHP 코딩 예 1-1

 

ChatGPT가 짜준 PHP 코딩 예 1-1

지난 포스팅에서 ChatGPT가 짜준 PHP 코딩 이야기를 했습니다. 그런데 내가 딱 원하는 대로 안되었죠. ChatGPT가 짜준 PHP 코딩 예 1 ChatGPT가 짜준 PHP 코딩 예 1 chatGPT가 프로그램도 짜준다고 해서 한번

late40s.tistory.com

 

반응형
쿠팡 파트너스 활동의 일환으로 일정액의 수수료를 제공받을 수 있으나 추가 금액 없이 구매 가능합니다

◀ 댓글 ▶