본문 바로가기
반응형

PHP63

CentOS 7에 yum으로 PHP 5.6을 설치하는 방법 ===================================================== yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm yum --enablerepo=remi-php56 install php ====================================================== php56 에 존재하는 모듈 전체 설치 yum install -y --enablerepo=remi,remi-php56 php php-bcmath php-cli php-common php-dba php-dbg php-devel php-embedded php-enchant php-fpm php-gd php-gmp php.. 2022. 1. 18.
PHP 7.4 설치 remi 저장소를 설치한다 yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum -y install epel-release yum-utils remi 저장소에서는 php가 기본적으로 5.4버전으로 활성화되어있어서 비활성화 한다음에 설치하고 싶은 버전으로 설치한다. yum-config-manager --disable remi-php54 yum-config-manager --enable remi-php74 yum -y install php PHP 라이브러리 설치 dnf -y install php-cli php-redis php-intl php-gd php-imap php-bcmath php-interbase php-json php.. 2022. 1. 18.
PHP 사용 시 특정함수 사용제한 하는 방법 PHP의 php.ini 파일을 수정하여 특정함수 사용을 제한 할 수 있습니다. #vi /usr/local/php/lib/php.ini disable_functions = 특정함수 예) disable_functions = shell_exec,exec php.ini 를 수정하여 아래내용 삽입 후, 웹서버를 재시작하여 적용합니다. 특정폴더에서만 함수를 사용못하게 하려면 해당폴더에 .htaccess 를 생성 후 아래내용을 삽입합니다. php_flag disable_functions = 특정함수 예) #vi .htaccess php_flag disable_functions = 특정함수 2022. 1. 18.
php 두날짜 사이의 모든날짜 배열 만들기 /*************************************************************************** * 두날짜 사이의 모든날짜 배열 만들기 ****************************************************************************/ function dateGap($sdate,$edate){ $sdate = str_replace("-","",$sdate); $edate = str_replace("-","",$edate); for($i=$sdate;$i [ 출력 ] Array ( [2015-09-01] => 2015-09-01 [2015-09-02] => 2015-09-02 [2015-09-03] => 2015-09-03 [.. 2021. 11. 25.
php 7.0 변수 초기값 설정 php 7.0 부터 변수 값이 없이 적용되면 Notice 또는 Warn 에러가 발생하게 된다. GET 또는 POST 로 값을 넘겨 받았을 경우에 $var = $_GET['foo']; $var = $_POST['foo']; 이와 같이 값을 넘겨 받는데, 에러를 표시하게 된다. 아래와 같이 해야한다. $var = null; if(isset($_GET['foo'])){ $var = $_GET['foo']; } 너무 복잡하니 간단하게 표시를 하는 방법이 있다. $var = $_GET['foo'] ?? NULL; $var = $_POST['foo'] ?? NULL; * 에러표시를 안되게 하는 방법도 있다. php.ini 에 에러출력을 막으면 된다. 2021. 11. 22.
PHP 배열 초기화 php 에서 배열을 초기화 하려면 unset() 함수를 사용합니다. $arr = array("1", "2", "3"); unset( $arr ); 또는 배열 변수를 다시 선언해도 됩니다. $arr = []; $arr = array(); 일반적인 변수는 2021. 11. 22.
php curl 전송 $ch = curl_init(); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_URL, '전송할 url 입력'); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_TIMEOUT, 3); $result = curl_exec($ch); 결과값(response)을 $result로 받아볼 수 있다. 그리고 통신이 잘 안될때 그 원인.. 2021. 11. 21.
php 파일 다운로드 $filepath = '파일경로 및 파일명';$filesize = filesize($filepath);$path_parts = pathinfo($filepath);$filename = $path_parts['basename'];$extension = $path_parts['extension']; header("Pragma: public");header("Expires: 0");header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=\"$filename\"");header("Content-Transfer-Encoding: binary");header("Content.. 2021. 11. 21.
패스워드, 이메일 유효성 검사 // e메일 유효성 검사 if(!preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/", $_POST['mail'])) { echo ""; exit; } // 패스워드 유효성검사(영문,숫자조합 6~12자 사이) if(!preg_match("/[[:alnum:]+]{6,12}/",$_POST['pass']) || !preg_match("/[a-z]/",$_POST['pass']) || !preg_match("/\d/",$_POST['pass'])) { exit(""); } 2021. 11. 21.
소켓 이용 http POST 전송 소켓 이용 http POST 전송 예 입니다. function post_request($url, $data, $referer='') { $data = http_build_query($data); $url = parse_url($url); if ($url['scheme'] != 'http') { exit(); } $host = $url['host']; $path = $url['path']; $fp = fsockopen($host, 80, $errno, $errstr, 30); if($fp){ fputs($fp, "POST $path HTTP/1.1\r\n"); fputs($fp, "Host: $host\r\n"); fputs($fp, "Content-type: application/x-www-form-ur.. 2021. 11. 21.
php 문자 제거 함수 str_replace() str_replace('해당문자','바꿀문자',변수); ex) 폰번호 하이픈 삭제 str_replace('-','',$phone_number); 2021. 11. 21.
php 날짜 계산 strtotime 함수 적용 출처: https://extbrain.tistory.com/29 [확장형 뇌 저장소] 2021. 11. 21.
반응형