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] 사이트맵(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] 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,..

DataBase

[Mariadb] 10.7.0 버전에 새로 생긴 natural_sort_key()

Mariadb에서 NATURAL SORT를 정렬하는 방법은 이전까지의 버전에서는 포맷이 일정한 경우 일정한 포맷의 문자를 삭제한 다음 남아 있는 부분 가지고 정렬하는 방법이 있기는 했으나 완벽하게 하는 방법은 없는 것으로 알고있었는데 Mariadb 10.7.0 버전에 새로 생긴 natural_sort_key() 내장 함수를 통해 자연 정렬을 사용할 수 있습니다. 몇 가지 예를 들어보면 create table t1 (c text); insert into t1 values ('b1'),('a2'),('a11'),('a1'); select c from t1; +------+ | c | +------+ | b1 | | a2 | | a11 | | a1 | +------+ 기존 방식으로의 order by 정렬 결과..

Web/PHP

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

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

Web/PHP

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

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

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
'PHP' 태그의 글 목록