PHP/php: 13개의 글
만약 파일 업로드에서 file_uploads On post_max_size max_execution_time memory_limit max_file_uploads upload_max_filesize 위에 사항을 업로드 하려는 파일의 사이즈보다 크게 그리고 다른 사항들도 모두 정상적으로 설정했는데 파일이 업로드 되지 않는다면 /tmp 가 overflow의 size를 확인해 보자 /tmp가 overflow 되었다고 나오는 부분이 보일 것이다. 이럴때 다음과 같이 하면 된다. sudo umount -l /tmp sudo mount -t tmpfs -o size=10485760,mode=1777 overflow /tmp
exec 나 shell_exec 를 비동기로 처리해야할 때가 있다. 그때는 명령어 뒤에 " > /dev/null 2>/dev/null &"를 붙혀주면 된다 exec("실행할 명령" . " > /dev/null 2>/dev/null &") shell_exec("실행할 명령" . " > /dev/null 2>/dev/null &") 출처: https://chobokkiri.tistory.com/61?category=656563 [초보끼리]
curl로 html 소스 코드를 가져오려고 하는데 http 302(redirect) 문제로 redirect된 페이지의 소스코드를 가져올 때 다음과 같이 하면 된다. $url = "YOUR URL"; $res = array(); $options = array( CURLOPT_RETURNTRANSFER => true, // return web page CURLOPT_HEADER => false, // do not return headers CURLOPT_FOLLOWLOCATION => true, // follow redirects CURLOPT_USERAGENT => "spider", // who am i CURLOPT_AUTOREFERER => true, // set referer on redirect C..
PHP의 객체 (2/2) (메소드, 속성, 상수, 메소드 범위, 상속) 1.메소드 $this 는 현재의 객체에 접근할 때 사용한다. $this를 사용해서 현재 객체의 속성 또는 함수를 호출한다. Colored By Color Scripter™ PHP5에서는 객체로부터가 아닌 클래스로부터 호출되는 정적(static) 메소드를 정의할 수 있다. 정적 메소드는 어떤 객체 속성에도 접근성을 갖지 않는다.정적메소드의 호출은 -> 가 아닌 더블콜론(::)으로 호출된다.정적메소드는 객체가 아닌 클래스로 부터 호출된다. Colored By Color Scripter™
PHP의 객체 (1/2) (클래스 정의, 객체 생성, 접근, 생성자, 소멸자) 객체지향 언어(OOP, object-oriented programming)이 발전하면서, 함수 이상으로 코드를 재사용할 수 있게 되었다. 객체를 통해서 데이터를 요청하고, 객체를 통해서 데이터를 받아온다. 각각의 객체는 각각의 역할에 따른 데이터를 가지고 기능을 수행한다. 객체를 통해 코드를 재사용하면서, 적은 코드로 효율적인 프로그래밍이 가능해졌다.객체를 사용하는 프로그램을 만들 때는 데이터와 코드의 합성인 클래스를 디자인 해야 한다. 이 클래스에 기반한 새 객체를 클래스의 인스턴스(instance)나 어커런스(occurrence)라고 한다. 클래스 정의 객체는 class 키워드로 클래스를 정의한다. 클래스의 정의에는 클래스..
PHP의 함수 (정의, 반환, 참조, 포함과 요구) 모든 프로그래밍 언어의 기본 요구사항에는 데이터를 저장하는 공간과 프로그램 흐름을 제어하는 수단, 표현식 검증, 파일 관리, 텍스트 출력 등이 포함된다. 하지만 프로그래밍을 하다보면, 반복적으로 발생하는 부분이 있다.이렇게 반복하는 부분에 함수가 사용된다. 반복되는 코드를 떼어내서 함수에 넣고, 그 코드가 필요할 때 함수의 이름을 호출한다. 그러면 함수를 값을 반환한다. 1. 함수의 장점 함수는 인접한 인라인코드보다도 장점이 많다.- 타자를 적게 쳐도 된다.- 함수는 문법 사용과 프로그래밍 오류를 줄인다.- 프로그램 파일의 로딩 시간을 단축시킨다.- 각 함수는 얼마나 자주 불리든 관계없이 오직 한 번만 컴파일되기 때문에 실행 시간이 단축된다.- 함수는 ..
PHP의 반복문 (for, while, do while, break, continue) 조건문에 이어서 이번에는 반복문을 알아보자 PHP의 반복문은 크게 for문과 while문으로 구분되며, do while문을 사용할 수 있다.그리고 반복문의 흐름을 제어하는 break와 continue 가 있다. 1. for 반복문 반복문의 for문은 강력하다. 루프로 들어갈 때 변수를 지정하고, 루프를 반복할 때 조건을 검사하고, 각 반복마다 변수를 변경하는 기능이 모두 있다. 각 for문에는 3개의 매개 표현식이 있다. for(표현1; 표현2; 표현3)- 표현1 : 초기화 표현식- 표현2 : 조건 표현식- 표현3 : 변경 표현식 Colored By Color Scripter™ 변수를 증가할 수 있다. 세 개의 매개 ..
PHP의 조건문 (if, switch, ? 연산자) 이번 포스팅에서는 PHP의 조건문에 대해서 알아보자. 조건문은 프로그램의 흐름을 바꾼다. 어떤 문제에 대해서 질문할 수 있고, 여러 방법으로 답에 대응한다. 조건문은 웹 페이지가 보일 때마다 간단한 방법으로 결과를 바꿀 수 있어서 동적인 웹 페이지에서 가장 중요한 부분이다.조건문은 if, switch, ? 연산자로 구분할 수 있다. 1. if (if, else, else if) if 조건의 내용은 등가식과 비교문, 0이나 NULL 테스트를 포함해 유효한 어떤 PHP 표현식도 될 수 있다. 또한 함수(내장 함수나 직접 작성한 함수 모두 포함)로부터 반환된 값도 될 수 있다. else문은 조건문에서 참이 아닐 때 메인 프로그램을 즉시 시작하지 않고, 대신 ..
PHP 시작 (2/2) - 알아두면 좋은 몇가지 앞에서 PHP를 시작하는데 알아야할 20가지를 정리하였다. 이번 포스팅에서는 앞의 포스팅 PHP 시작 - 이것만은 알고 시작하자 에 이어, 추가적으로 알아두면 좋은 몇가지를 적어보겠다. 1. Boolean 표현식 ( TRUE, FALSE ) PHP에서 TRUE 와 FALSE 는 미리 정의된 표현식이다.TRUE 는 1, FALSE 는 NULL 이거나 아무것도 없다. * 어떤 언어에서는 FALSE는 0이나 -1일 수도 있으므로, 각 언어에서 정의를 검사하는 일은 해봐야 한다. Colored By Color Scripter™1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2. 연산자 우선순위 연산자 형 식( ) 괄호++ --증가 /감소! 논리 *..
PHP 시작 (1/2) - 이것만은 알고 시작하자. PHP 시작 포스팅으로 PHP 프로그래밍의 기본적인 사항들을 간단하게 훝어보자. 기본적으로 PHP 문서는 .php 확장자로 끝난다. 웹 서버는 요청된 파일에서 이 확장자를 발견하면 자동으로 PHP 프로세서에 전달한다.PHP 프로그램은 웹 브라우저에서 나타내기에 적합하며 완전한 파일을 돌려주어야 한다. 1. PHP 파서 호출 : PHP 문법을 사용하기 위해서는 PHP 파서를 사용해야 한다. 간혹 이렇게 파서를 사용하는 경우가 있다. 프로그램 해석기인 PHP 파서가 호출되는지 분명하지 않지만 일반적으로 동작하는 대체 가능한 문법이다. 그러나 XML과 호환도 안 될뿐만 아니라 지금은 사라졌으므로 사용을 지양한다. : PHP 문법을 사용하기 위해서는 PHP 파..