웹 사이트 예제: 음악 스케일 목록

웹사이트 바로가기 이 웹사이트의 기능은 다음과 같습니다. 스케일 목록을 데이터베이스에서 읽어서 테이블 형태로 나열 (PHP) 각 목록을 클릭하면 스케일의 정보와 악보, 소리듣기 기능을 제공 (abcjs 이용) 스케일의 정보는 이름, 별칭(Alias), 설명(Description), 중요도(Priority), 패턴이 있음 악보 및 사운드 생성은 스케일의 Pattern 정보를 이용하여 생성 (PHP 음악 스케일 구하기) 조옮김(Transpose), 이명동음 표시기능 더보기…

PHP: FTP 내의 디렉토리 및 파일 탐색하기(재귀호출)

PHP 계정에서 다음과 같은 구조로 파일이 존재하고 있습니다. 목표는 files 디렉토리(폴더) 내에 있는 파일들을 탐색하고, 파일들의 정보(이름, 확장자, 크기 등)를 표시 및 데이터베이스 테이블에 입력하는 것입니다. 핵심 코드는 아래와 같습니다. $dir = ‘./files’; $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir)); $dir은 탐색 대상 디렉토리의 루트 경로를 입력합니다. 현재 작성중인 php 파일과 files 더보기…

PHP 예제: 음악 스케일 구하기

이 예제는 개인 작업중인 내용을 주요 부분만 추출한 것으로, 패턴(pattern)이라는 파라미터를 입력하면 루트 음을 고려한 스케일을 계산하여 json으로 뿌려주는 php 예제입니다. 파라미터는 pattern, transpose 두 개가 있습니다. 여기서 패턴은 스케일의 각 두 음 사이간의 반음 간격을 semitone이라는 단위로 표시한 것을 일렬로 나열한 것입니다. 예를 들어 C와 D의 반음 간격은 2이며, 더보기…

PHP: 일반 배열 순회하기, 복수의 배열 동시에 순회하기

PHP의 배열을 순회하려면 foreach를 사용합니다. 원소 값을 사용하는 방법은 다음과 같습니다. $array = array(“A”, “B”, “C”); foreach($array as $value){ echo “{$value}, “; } // 출력 결과: A, B, C, 조건문 $array as $value 에서 앞부분은 기존에 존재하는 배열 변수, 뒷부분은 value로 사용할 새로운 변수를 입력합니다. 새로운 변수의 이름은 변경할 수 더보기…

PHP: 특정 문자를 기준으로 배열로 나누기 (explode, preg_split)

다른 프로그래밍 언어의 split에 해당하는 기능입니다. 만약 다음 exmaple 변수를 세미콜론(;)을 기준으로 하여 배열로 분리한다면 $example = “123;456;789,0”; 단일 문자는 explode(문자, 스트링변수);를 사용합니다. $array = explode(“;”, $exmaple); 배열 0번은 123, 배열 1번은 456, 배열 2번은 789,0 입니다. 세미콜론은 기준 문자로 사용되었으므로 배열로 나눈 뒤에는 사라집니다. 기준으로 복수의 문자(조건)를 사용하고 싶다면 더보기…

PHP: cURL 기초 (정적 웹 페이지에서 정보 가져오기)

웹사이트에서 POST를 통한 로그인을 한 뒤 정보를 가져오는 예제입니다. 만약 로그인이 필요한 웹 페이지라면, 로그인 정보를 POST로 보내고 쿠키로 저장하는 과정이 추가로 필요합니다. <?php $html_brand = “[리퀘스트를 보낼 주소]”; $ch = curl_init(); // cURL 생성 $options = array( CURLOPT_URL => $html_brand, CURLOPT_POSTFIELDS => “param1=value1&param2=value2&…”, // Post로 보낼 값들을 Get 방식처럼 더보기…

PHP: 배열 생성 / 배열을 JSON으로 만들기

배열을 JSON으로 변환하려면 다음 함수를 사용합니다. json_encode($배열)   빈 배열을 생성하려면 array()를 사용합니다. $arr = array();   원소가 있는 배열을 생성하는 방법입니다. $arr2 = array(“A”, “B”, “C”);   연관 배열(associative array)을 만드는 방법입니다. 연관 배열은 다른 언어의 Map, 자바스크립트의 객체(Object) 등과 유사한 자료형입니다. $arr3 = array(1 => “http//google.com”, 2 = > “http://yahoo.com”); 더보기…

PHP: 데이터베이스 접근 기초(SELECT, INSERT, UPDATE, DELETE)

1. SELECT php의 코드는 일반 텍스트와 구분하여 <?php […코드…] ?>를 사용합니다. 또는 <?[…코드…] ?>도 가능합니다. HTML 코드 내에서 변수 등을 단순히 출력하고자 할 때는 <?=[변수 이름 등]?> 의 형태로 사용합니다. 브라우저에 출력하는 코드는 echo [내용] 입니다. 내용을 그대로 소스로 내보냅니다. 변수명은 $로 시작합니다. 스트링을 덧붙이고자 할 때는 + 대신 . 를 사용합니다. 데이터베이스를 접속하는 더보기…