일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- props
- ruby
- docker
- javascript
- AWS
- staging area
- cron
- working directory
- Ruby On Rails
- Git
- centOS7
- imagemagick
- ec2
- linux
- NGINX
- pagination
- dockerfile
- vue
- Wordpress
- codeigniter4
- ubuntu
- MySQL
- react
- Selenium
- Python
- php
- docker-compose
- controller
- SQL
- laravel
- Today
- Total
목록IT 공부/PHP (23)
내가 한 노력들
array_key_exists(키, 배열) 첫 번째 파라미터에는, 존재를 확인하고 싶은 키값을 넣어주면 되고 두 번째 파라미터에는 대상 배열을 넣어주면 됩니다.
방법1 #결과 Array ( [2] => hello.txt [3] => world.txt [4] => test.php [5] => test2.php ) directory 폴더안에 있는 파일들을 가져오는데, "."와 ".."는 제외합니다. linux환경에서 "."가 의미하는 건 현재 디렉토리이고, ".."는 전 디렉토리를 의미합니다. 방법2 #결과 directory/hello.txt directory/world.txt directory/test.php directory/test2.php directory안에 "*"모든 파일 리스트를 불러와서 화면에 보여주는 것 입니다. "*.php"로 하면, 확장자가 php인 모든 파일만 불러올 수 있습니다.
요즘 프레임워크에는 DB와 연동해서 간편하게 사용할 수 있는 pagination 기능이 많이 있지만, 이번에 DB에 있는 데이터를 가져와서 페이징하는 것이아니라 파일에 있는 내용을 가져와서 페이징하는 것을 하기 때문에 바닐라 PHP로 작성 Page 설정 현재 페이지 URL에 page 쿼리스트링이 없을 경우에는 1로 초기화하고, 있는 경우에는 그 값을 사용한다. $page = 1; if (isset ($_GET['page']) ) { $page = $_GET['page']; } 이렇게 작성하는 것이 더 간결한 것 같습니다. 끝 페이지 "전체 데이터 수"를 "페이지당 보여지는 데이터 수"로 나누고, 올림한 값 $last_page = ceil((count($line)) / $results_per_page); ..
project 디렉토리에 있는 csv 파일을 Web상에서 유저가 다운로드할 수 있도록 구현했습니다. Content-Disposition 응답 Body를 브라우저가 어떻게 표시해야할지 알려준다. inline 옵션 - 파일을 웹페이지에 표시한다. 웹페이지 표시가 지원되지 않는 파일은 다운로드 예) Content-Disposition: inline attachment 옵션 - 파일을 다운로드하고, filename 옵션으로 파일명까지 지정해줄 수 있다. 예) Content-Disposition: attachment; filename='filename.csv' Content-Length HTTP 요청에서 Content-Length는 선택사항입니다. GET 또는 DELETE의 경우 길이가 0이어야 합니다. POST..
codeigniter 4 프레임워크 기반으로 작성된 코드입니다. csv파일을 불러온 뒤, 해당 파일의 내용을 읽어와서 배열의 형태로 담아둔 후 테이블에 foreach로 뿌려주는 흐름입니다. Controller public function getCsv() { $total_arr = []; $file = fopen('C:/xampp/htdocs/Local-AWS-scraping/writable/uploads/csv/test.csv', 'r'); while (($line = fgetcsv($file)) !== FALSE) { $arr = []; //$line is an array of the csv elements foreach ($line as $word) { $sep_arr = explode(',', $w..
nginx와 php 환경은 Docker을 이용해서 구축을 하고, DB는 AWS의 RDS의 서비스를 이용해서 연동하는 것을 해보겠습니다. 이번과정에는 AWS의 프리티어로 이용가능한 범위 내에서 사용하기 때문에, 사용 후에 인스턴스를 삭제하면 따로 비용은 청구되지 않습니다. 반대로, 삭제하지 않으면 ㅎㅎ;; EC2 인스턴스 생성 첫 번째로, AMI 선택에서 ubuntu 20.04 버전을 선택해줍니다. 인스턴스 유형 선택에서는 역시나 프리티어로 이용할 수 있는 t2.micro를 선택 검토 및 시작을 누르면, 키페어를 선택 및 생성하는 팝업이 나옵니다. SSH를 이용해서, 해당 EC2 인스턴스에 접속하기 위해서 필요한 비밀번호와 같은 역할을 하게 됩니다. SSH로 EC2에 접속하는 방법은, 아래의 링크에서 자세..
strlen 문자열의 길이를 구하는 함수 strlen(string) mb_strlen mb_strlen( string [, encoding] ) encoding : 인코딩 방식을 정합니다. 정하지 않으면 문서의 인코딩 방식을 사용합니다. echo mb_strlen( '가나다', 'euc-kr' ); 는 6을 출력한다. echo mb_strlen( '가나다', 'utf-8' ); 는 3을 출력한다. strlen()은 바이트 기준, mb_strlen()은 문자셋 기준입니다. 한글 등에서는 값이 다릅니다. explode 특정 구분자로 구분되어 있는 문자열을 구분자를 기준으로 나누어 배열로 변환해 주는 함수 explode( 경계 문자열, 나눌 문자열, 제한 갯수) implode 함수는 배열의 값들을 특정 구분자..
Jquery 를 이용해서 스크롤이 컨텐츠 값 만큼 내려가게 되면 새로운 내용을 추가시켜줘서 새로운 내용으로는 PHP를 통해서 Mysql에 있는 테이블 내용을 가져오는 것을 만들어 봤다. 제대로 Mysql에 있는 데이터값은 가져오고 있지만, 문제점이 있다. 스크롤을 내리면 계속 무한적으로 반복되서 나오기 때문에 다 가져오고 나면 멈춰야하는데 안되고있다.... 그 부분을 조금더 수정해야 할 것 같다.