본문 바로가기

개발/php8

PHP 에러가 출력되지 않을때 / display_errors php로 개발을 하던 중 이상하게 에러가 출력되지 않아 어디서 문제인지 알 수 가 없었다. echo, var_dump, 만찍다가 너무 답답하여 찾아보니 php.ini 설정 값이 잘 못 되어 있었다. 보통은 보안상의 이유로 릴리즈 배포시 에러를 출력하지 않게 설정해 놓는게 일반적이다. 하지만 개발시에는 에러를 알아야 하기 때문에 켜놓는게 좋다. php.ini에서 display_errors 옵션을 On으로 변경하자. display_errors = On 2020. 11. 4.
php 파일 다운로드 페이지 구현하기 php 파일 다운로드 페이지 구현하기 php를 이용하여 자료실이나 파일 서버등에서 사용할 수 있는 정적인 파일을 다운로드 하는 기능을 구현하는 법을 알아 보겠습니다. 보통은 nginx, apache와 같은 웹서버에서 바로 내려주기도 하나 php에서 처리 할 경우 사용자 접근제어등을 구현할 수 있습니다. 2020. 7. 17.
PHP file_exists, is_dir 파일 존재 확인 하기 PHP file_exists, is_dir 파일 존재 확인 하기 php에서 파일이나 경로가 존재하는지 확인할때 이용 할 수 있는 함수는 file_exists함수가 있습니다. file_exists file_exists ( string $filename ) : bool 간단히 파일경로를 파라미터로 호출하면 bool타입으로 존재유무를 알 수 있습니다. 또한 심볼릭 링크가 가리키는 파일이 없을 경우 false를 리턴합니다. 또한 file_exists와 비슷한 함수로 is_dir이 있습니다. is_dir is_dir ( string $filename ) : bool is_dir함수는 주어진 파일 경로가 파일인지 디렉터리 인지 확인해 true, false를 리턴합니다. UNIX 시스템에서는 디렉터리도 파일로 취급하.. 2020. 4. 27.
php 연관배열 정렬하기 / asort, arsort php에서 연관배열은 많이 사용되는 기능 중 하나입니다. 데이터베이스에서 값을 fetch해오거나 URL등을 파싱하거나, GET, POST파라미터 등을 파싱한다거나 할때 많이 쓰입니다. php 연관배열을 value에 따라 정렬을 할 수 있는 기능을 asort와 arsort를 통해 제공하고 있습니다. asort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool 첫번째 파라미터 array에는 정렬하고자 하는 array를 넣습니다. 두번째 인자인 sort_flags에는 정렬 옵션을 넣습니다. asort의 sort_flags는 다음과 같습니다. SORT_REGULAR - compare items normally; the details are describ.. 2020. 4. 21.
php foreach 사용 방법 예제 / 연관배열 오늘은 php에서 foreach로 배열을 순회하는 예제를 알아보겠습니다. C언어를 기본으로 개발을 하다보니 다른 언어로 개발할 때 C언어처럼 for(i=0 ; i 이때 as라는 키워드를 사용하게 됩니다. 2. 연관배열 foreach php에서 연관배열은 아래와 같이 foreach로 순회 할 수 있습니다. 이때 Key와 value를 출력 할 수 있습니다. 참고: https://www.php.net/manual/en/control-structures.foreach.php 2020. 4. 20.
php 7.3 CentOS7에서 설치하기, php-fpm 1. php 7.3 Remi 레포지토리 추가 CentOs7과 Fedora 배포판에서 php 7.3은 Remi 레포지토리를 추가하여 설치 할 수 있다. sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum -y install epel-release yum-utils 2. php 5.4 비활성화 기본으로 php 5.4가 적용되는데 레포지토리에서 비활성화 하고 7.3을 활성화 해준다. sudo yum-config-manager --enable remi-php73 //7.3 sudo yum-config-manager --enable remi-php74 // 7.4 sudo yum-config-manager --dis.. 2020. 1. 10.
php에서 큰 파일 라인별로 읽기 php에서 대용량 큰 파일을 file_get_contents로 읽게 되면 메모리에 한번에 로드 하게 되어 메모리 부족으로 php스크립트를 실행 할 수 없는 상황이 발생한다. 이 때 라인 별로 읽으면 메모리 부족을 회피하여 실행 할 수 있게 된다. 아래는 예제코드 $handle = fopen("inputfile.txt", "r"); if ($handle) { while (($line = fgets($handle)) !== false) { // process the line read. } fclose($handle); } else { // error opening the file. } 2019. 11. 29.
php JSON 들여쓰기 출력하기 json_encode 함수 php에서 json_encode 함수를 이용하여 연관배열을 json으로 인코딩하게 되면 들여쓰기가 되지 않은체 한줄로 출력된다. JSON이 길어질 경우 매우 보기힘들어 JSON을 정렬해주는 사이트를 이용할 수도 있다. https://jsonformatter.curiousconcept.com/ JSON Formatter & Validator Format and validate JSON data so that it can easily be read by human beings. jsonformatter.curiousconcept.com 이러한 json encode 처리를 php의 json_encode에서 기본으로 제공하고 있다. json_encode의 두번째 인자에 JSON_PRETTY_PRINT를 주면된다.. 2019. 11. 22.