Web/PHP

Web/PHP

freegeoip.app API를 호출하여 IP 주소의 국가, 위도 및 경도를 가져오는 코드

무료 IP 지리 정보 서비스인 freegeoip.app를 사용하여 IP 주소로 국가 코드, 국가 이름, 지역 코드, 지역 이름, 도시, 위도 및 경도, 타임존 정보를 가져올수 있습니다. 아래 코드는 PHP를 이용한 코드입니다. 아래는 Python을 사용하여 예시를 보여드리겠습니다. 다음 코드는 requests 라이브러리를 사용하여 freegeoip.app API를 호출하여 IP 주소의 국가, 위도 및 경도를 가져오는 방법을 보여줍니다: import requests def get_ip_geo(ip_address): url = f"https://freegeoip.app/json/{ip_address}" response = requests.get(url) data = response.json() country..

Web/PHP

CKEditor5 클립보드 이미지 업로드 하는 방법(Paste, Ctrl+v)

1. CKEditor5 클립보드 이미지를 서버에 업로드 CKEditor5의 clipboardInput 이벤트를 사용하여 붙여넣기된 콘텐츠에 이미지가 있는 경우 이미지를 서버에 업로드할 수 있습니다. 이미지가 있을 때 해당 이미지를 서버에 업로드하고, 서버에 업로드된 이미지의 URL을 콘텐츠에 삽입하는 방법을 살펴보겠습니다. ClassicEditor .create( document.querySelector( '#editor' ) ) .then( editor => { // clipboardInput 이벤트 리스너 등록 editor.editing.view.document.on( 'clipboardInput', async ( evt, data ) => { let clipboardData = data.dataTr..

Web/PHP

PHP) 주어진 시작일자와 종료일자 사이의 남은 일 수를 계산하는 방법

아래 PHP 함수는 주어진 시작일자($s_date)와 종료일자($e_date) 사이의 남은 일 수를 계산하는 기능을 합니다. 함수는 다음과 같은 단계로 작동합니다: $e_date가 빈 문자열인 경우, 즉 종료일자가 제공되지 않은 경우에는 "0"을 반환합니다. 시작일자와 종료일자를 각각 연, 월, 일로 분리하여 배열로 저장합니다. (explode 함수를 사용하여 문자열을 구분자(여기서는 "-")로 분리합니다.) mktime 함수를 사용하여 시작일과 종료일의 타임스탬프를 생성합니다. 이 함수는 연, 월, 일, 시, 분, 초를 기반으로 타임스탬프를 반환합니다. 시작일의 타임스탬프($s_time)와 종료일의 타임스탬프($e_time)를 비교하여 시작일이 종료일보다 늦은 경우 0을 반환합니다. 즉, 시작일이 종료..

Web/PHP

PHP) 그누보드에서 스마트에디터/ckeditor 에 링크를 입력할 경우 target 값 없이 입력이 될 경우

그누보드에서 스마트에디터/ckeditor 에 링크를 입력할 경우 target 값 없이 입력이 될 경우 HTML을 파싱하여 href 속성이 있는 경우 등록된 본문 내용이 허용된 도메인과 다를 경우 target 속성 추가

Web/PHP

PHP] 사이트맵(sitemap.xml) 생성하는 소스

XML 사이트맵을 생성하는 객체 기반 PHP 사이트맵 생성하는 소스 특징 누락된 기능을 구현하거나 추가 기능을 추가하는 데 도움을 주세요. 웹사이트용 사이트맵 생성 사이트맵 생성을 위한 다양한 옵션 특정 파일 유형만 보는 옵션 크롤링할 때 클라이언트 측 자바스크립트 콘텐츠 로드 모든 상대 링크 유형(// , # , ?) 등을 구문 분석합니다. https://github.com/tristangoossens/php-sitemap-generator 1. 다운로드후 sitemap-config.php 파일을 열고 웹사이트 주소로 변경 "SITE_URL" => "https://student-laptop.nl/", 이 부분을 찾아서 2. sitemap-config.php, sitemap-generator.php, s..

Web/PHP

PHP] 네이버맵 API를 이용한 좌표로 주소구하기

네이버맵 API를 이용한 좌표로 주소를 구할 수 있으며 반대로 주소로 해당 좌표도 구할 수 있습니다. 네이버맵 API 가이드 https://api.ncloud-docs.com/docs/ai-naver-mapsreversegeocoding-gc

Web/PHP

PHP] map 폴리곤(Polygon) 영역의 중심 좌표 구하기

폴리곤 영역안의 중심 좌표를 구하는 함수입니다. //중심 좌표 구하기 /*******************************/ function get_center($coords) { $count_coords = count($coords); $xcos=0.0; $ycos=0.0; $zsin=0.0; foreach ($coords as $lnglat) { $lat = $lnglat['lat'] * pi() / 180; $lon = $lnglat['lng'] * pi() / 180; $acos = cos($lat) * cos($lon); $bcos = cos($lat) * sin($lon); $csin = sin($lat); $xcos += $acos; $ycos += $bcos; $zsin += $csi..

Web/PHP

사업자등록정보 진위확인 및 상태조회 - PHP 오픈 API

국세청에서 보유한 사업자등록정보에 대한 진위확인 및 상태조회 서비스가 오픈API로 개방되었습니다. 한 번에 최대 100개의 사업자등록정보에 대한 진위확인 및 등록 상태조회 기능을 제공합니다. 해당 오픈API에 대한 자세한 내용을 확인하시거나 활용신청은 아래 링크를 통해 가능합니다. https://www.data.go.kr/data/15081808/openapi.do 또한, 개발자가 아닌 분들도 자료실에 등록된 파일을 내려받고 엑셀 파일(.xlsx) 업로드를 통해 사업자등록 상태조회 오픈API를 테스트해볼 수 있습니다. https://www.data.go.kr/bbs/rcr/selectRecsroom.do?pageIndex=1&originId=PDS_0000000000753 실제 사업자등록번호 진위확인 A..

Web/PHP

현 위치에서 좌표 내부에 있는지 판단하는 알고리즘

class Point { public $lat; public $long; function Point($lat, $long) { $this->lat = $lat; $this->long = $long; } } //the Point in Polygon function function pointInPolygon($p, $polygon) { //if you operates with (hundred)thousands of points set_time_limit(60); $c = 0; $p1 = $polygon[0]; $n = count($polygon); for ($i=1; $ilong > min($p1->long, $p2->long) && $p->long long, $p2->long) && $p->lat lat,..

Web/PHP

PHP 두 날짜 사이의 기간 구하기

2021-01-01 과 2021-04-02 두 날짜 사이의 기간 구하기 $Date1 = new DateTime("2021-01-01"); $Date2 = new DateTime(date("Y-m-d")); $intvl = $Date1->diff($Date2); print_r($intvl)." "; echo $intvl->days." "; $intvl 의 결과값 DateInterval Object ( [y] => 0 [m] => 3 [d] => 1 [h] => 0 [i] => 0 [s] => 0 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => 91 [special_type] => 0..

Web/PHP

또 다른 대형 공급망 공격 될 뻔한 PHP 깃 서버 침해 사건

1. PHP의 주요 인프라였던 공식 깃 서버에서 침해 사건이 발생함. 2. 누군가 유명 개발자들의 계정으로 악성 백도어를 심어두려고 했었음. 3. 이 때문에 PHP는 이제 주요 코드를 깃이 아니라 깃허브로 옮긴다고 발표. PHP의 공식 깃 서버가 해킹당했다. 정체를 알 수 없는 공격자들이 서서버에 침투한 뒤 코드 베이스에 백도어를 심어둔 것이 발견된 것이다. 이 때문에 PHP로 만들어진 모든 애플리케이션들이 감염되는 초유의 사태가 발생할 뻔했다. 공격이 발생한 건 주말 동안의 일이다. php-src 리포지터리에 두 개의 악성 커밋(commit)이 삽입되었는데, 삽입자의 계정은 PHP의 유명 개발자들인 니키타 포포브(Nikita Popov)와 라스무스 레르도프(Rasmus Lerdorf)의 것이었다. 이 ..

Web/PHP

두 날짜 사이의 월별, 일별 통계 구하기

두 날짜 사이의 모든 날짜를 구한 다음 해당 날짜의 통계를 구하면 해당 기간에 통계 결과가 없어도 데이터는 '0'으로 나타낼 수 있음 //일별 통계

Web/PHP

php 2차원 배열 특정 value 값으로 sort하기

//정렬대상 array, 정렬 기준 key, 오름/내림차순 function arr_sort($array, $key, $sort='asc') { $keys = array(); $vals = array(); foreach ($array as $k=>$v) { $i = $v[$key].'.'.$k; $vals[$i] = $v; array_push($keys, $k); } unset($array); if ($sort=='asc') { ksort($vals); } else { krsort($vals); } $ret = array_combine($keys, $vals); unset($keys); unset($vals); return $ret; } $arr = array( array('num' => 3, 'str' ..

Web/PHP

영카트에서 주문시 받으시는분 삭제하는 방법

영카트 작업시 주문서 작성 페이지에 주문하시는 분과 받으시는 분의 주소 입력하는 부분이 있는데 모바일에서 입력하는 항목이 너무 많다는 불편하다는 고객의 의견으로 인해 주문자 정보만 남기고 받으시는 분 정보는 삭제하는 방법입니다. 주문자 정보와 동일하게 값이 저장됩니다. 1. 주문서 작성 페이지 수정 PC : shop/orderform.sub.php 모바일 : mobile/shop/orderform.sub.php - PC 및 모바일의 파일에서 아래 코드를 찾아서 받으시는 분 숨김 처리 받으시는 분 ............... 을 아래와 같이 수정 - PC 및 모바일의 파일의 하단 스크립트 수정 function forderform_check(f) { // 받으시는분 정보 함수를 추가 gumae2baesong..

Web/PHP

PHP8 - str_contains .. 문자열에 특정 단어 있는지 확인

PHP8 과 함께 제공되는 유용성 향상 중 하나는 새로운 str_contains기능입니다. 문자열에 특정 단어가 포함되어 있는지 확인하는 함수가 변경되었습니다. PHP8 이전의 일반적인 방법은 strpos() 함수를 사용하는 것입니다. if (strpos('Foo Bar Baz', 'Bar') !== false) { echo 'Found'; } PHP8 의 새로운 함수에서의 사용 방법입니다. if (str_contains('Foo Bar Baz', 'Foo')) { echo 'Found'; } str_contains()함수는 대소 문자를 구분합니다.

projin
'Web/PHP' 카테고리의 글 목록