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가 프로그램도 짜준다고 해서 한번 해봤습니다. 결론적으로 챗봇이 만든 결과물에 놀랐습니다. 하지만 챗봇에게 프로그램을 짜라고 명령을 할때 그들이 하는 대화체 변경해서 요청하면 더
late40s.tistory.com
ChatGPT가 짜준 PHP 코딩 예 1-1
지난 포스팅에서 ChatGPT가 짜준 PHP 코딩 이야기를 했습니다. 그런데 내가 딱 원하는 대로 안되었죠. ChatGPT가 짜준 PHP 코딩 예 1 ChatGPT가 짜준 PHP 코딩 예 1 chatGPT가 프로그램도 짜준다고 해서 한번
late40s.tistory.com
'살아가는 이야기 > 배움' 카테고리의 다른 글
ChatGPT가 짜준 PHP 코딩 예 1-1 (0) | 2023.03.17 |
---|---|
ChatGPT가 짜준 PHP 코딩 예 1 (0) | 2023.03.17 |
[오늘의 영어] 비즈니스 새해 인사 영어로 - 코로나 상황 (0) | 2022.01.01 |
◀ 댓글 ▶ 0