Webi Blog

웹아이에서 운영되고 있는 블로그입니다.

php 8

PHP에서 배열을 문자열로 합치기, 문자열을 배열로 만들기 | explode, implode

안녕하세요~ 이번 시간에는 PHP의 explode와 implode에 대해서 알아보겠습니다. 간단하게 설명을 드리자면, explode는 문자열을 특정 문자로 분리해서 배열로 만들어 줍니다. implode는 배열을 특정 문자로 합쳐서 문자열로 만들어 줍니다. 이게 도대체 무슨 말?ㅎㅎ 사실 프로그램 공부하면서 제일 어려운 건 이해가 쉽지 않은 것도 있지만 이걸 왜! 어디에! 써야 하는지를 모르겠다는 게 제일 힘든 거 아닐까요? 물론 저도 처음에 공부할때 그런 어려움이 있었어요ㅠ 자! 일단 어떻게 사용하는지에 대해서 알아볼게요 string implode ( string $glue , array $pieces ) implode를 먼저 알아볼게요.. 사용법은 위와 같습니다. // 결과 a1 is: 1,2,3 a2..

Web/PHP 2021.09.07

[PHP] 원격지 파일 주소 노출 안하고 curl로 다운로드 받기

파일 다운로드를 구현할 때 아주 간단하게 a태그를 이용해서 구현을 합니다. 하지만 그렇게 할 경우 파일 경로가 아주 쉽게 노출이 되어버립니다. 보통 노출되어도 크게 상관없는 경우가 많지만 유료 클래스 상품을 구매한다거나 온라인 컨텐츠를 유료로 판매할 경우에는 파일의 경로가 노출되면 쉽게 공유가 되어버리기 때문에 노출을 막습니다. 물론 스토리지나 CDN 서비스 자체에서 경로를 알더라도 권한을 막아 불가하게 설정할 수 있지만 단순 웹호스팅을 이용하거나 보안 설정이 불가피 할 때 PHP에서 파일 경로를 노출하지 않고 원격지 파일을 다운로드를 받을 수 있는 방법을 포스팅 합니다. // 파일을 받을 권한이 있는 지 체크 if($is_guest) alert('다운로드 권한이 없습니다.'); $filepath = "..

Web/PHP 2021.09.03

PHP를 이용해 AWS S3 스토리지에 파일 업로드 하기

요즘 AWS를 이용해 서버를 구축하시는 분들이 많습니다. AWS에서 제공되는 많은 서비스 중 오늘은 PHP를 이용하여 AWS의 S3 스토리지에 파일을 업로드하는 방법에 대해 포스팅합니다. S3 스토리지에 직접 업로드하는 방식이 아닌 PHP 코드로 파일 URL 또는 Form을 통한 파일 업로드하는 방식입니다. 우선 AWS에서 제공하는 SDK를 설치해야 합니다. AWS PHP SDK : https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html Installing the AWS SDK for PHP Version 3 - AWS SDK for PHP Using PHP with the Suhosin patch is not ..

Web/PHP 2021.08.31

PHP 배열을 손쉽게 JSON 형식으로 변환하기 | json_encode, json_decode

여러분들 PHP로 개발하실 때 배열 많이 사용하시나요? 저는 정말 많이 사용하는데요~ 배열을 잘 사용한다면 더욱 편하게 개발할 수 있는 것 같아요~ 오늘은 배열을 JSON 형식으로 변환하는 함수에 대해서 알아보겠습니다. 다들 JSON이 뭔지 아시죠? json은 자바스크립트 언어에서 파생되어 자바스크립트의 구문 형식을 따르지만, C, C++, C#, 자바, 펄, 파이썬 등 수많은 프로그램 언어에서 쉽게 사용할 수 있는 독립형 데이터 포맷이라고 합니다. 그냥 쉽게는 배열이랑 비슷한데 쓰는 방법이 좀 다르다!! 그리고 print 하면 문자열로 출력이 된다고 보시면 됩니다~ 물론 PHP에서는 사용이 불가능합니다!! json을 php에서 사용하려면 배열로 변환해서 사용해야 합니다. 저는 주로 데이터를 주고받거나 ..

Web/PHP 2021.08.26

PHP 등급 출력 도와주세요! | 다중 if문을 이용한 등급 출력!

Q.0-100 사이 점수를 하나 입력받는 변수를 설정하고 입력된 값이 조건에 해당하면 등급을 출력다중 if문 사용 등급과 점수 함께 출력 하다가 잘 안되서ㅠ 도와주세요. A.해당 문제는 다중 if문으로 해결 가능합니다.^^ 다중 if문은 if(조건1){ 조건1 True }else if(조건2){ 조건2 True }else if(조건3){ 조건3 True }else{ 모든 조건 False } 위와 같은 방식으로 사용하실 수 있습니다.갯수는 상관없이 필요한 만큼 늘리실 수 있습니다. 맨 위의 조건부터 체크를 해서 조건이 맞는 곳에서 실행을 하고 뒤의 조건문은 무시가 된 채로 멈추게 됩니다. 예를 들어 if($a > 95){ 조건1 실행 }else if($a > 80){ 조건2 실행 }else if($a > ..

Kin 2018.07.16

PHP 출력 도와주세요! | For문 중첩을 이용한 줄바꿈

Q.저렇게 일자로 나오는 출력을 밑에 사진처럼 줄바꿈 해서 나오게 도와주세요 A.안녕하세요. 웹아이입니다.저 문제를 해결하기 위해서 공통되는 조건을 찾아야 합니다.0-0, 0-1, 0-2...이렇게 출력이 되고 있고앞에 숫자가 $i변수이고 뒤에 숫자가 $j 변수 입니다.출력되야 하는 정답을 보면 뒤에 숫자가 5일때 한줄 내려서 처리 하라는 조건을 알 수 있습니다.뒤에 숫자는 $j 변수에 담겨져 있고 한줄 내려서 엔터 처리하는건 태그 입니다.그리고 해당 조건을 처리할 수 있게 해주는게 if문 입니다. if(조건){ 조건이 맞을 때 실행 }else{ 조건이 틀릴 때 실행 } 이러한 것들을 조합해서 수정을 해본다면... 저렇게 if문을 중간에 추가 해줌으로써 해결 할 수 있을것 같습니다.^^

Kin 2018.07.14

php 문서내의 자바스크립트 코드를 해석 부탁드림니다.

Q. 1. ploginframe ID(아이디)를 가진 엘리먼트를 보여준다?? 2. window.frames["ploginframe"].location = "plogin.php";는 window.location.href = "plogin.php"; 와 무었이 다르고 사이에 프레임을 넣은 읨는 무었인지?3. document.getElementById("ploginframe").reload(true);는 새로고침인데 history가 남지 않아서 뒤로가기를 할수 없다?? 여기저기 찾아봐서 의미는 대충 알겠는데 정확한 뜻을 알고 싶습니다. A.1. ploginframe ID(아이디)를 가진 엘리먼트를 보여준다?? - ploginframe ID를 가진 앨리먼트를 화면상에 보여줍니다. 예를 들면 레이어 팝업을 예를 ..

Kin 2018.07.06

PHP 구문이 화면에 그대로 출력될 경우 해결 방법!!

서버이전을 하거나 PHP를 새로 설치했을 경우 모든걸 마치고 홈페이지로 접속하는 순간....... PHP 코드들이 똻~~~~~~ 멘붕이 오져..ㅎㅎㅎ 저도 가끔 멘붕이 옵니다... 그럴땐 정신을 차리고!!! 빨리 Putty 접속!!! php.ini 파일을 vi에디터로 열구요~~~ 경로는 다를수 있어요..ㅎㅎ 저같은 경우는 /etc/php.ini 랍니다.. 파일을 여셨으면 /short_open_tag 라고 쳐서 찾아냅니다.... 분명히 short_open_tag = Off 라고 되있으실꺼에요 꼭 그렇게 되어있으셔야하는데..... 이부분을 short_open_tag = On 으로 수정하시면 되요... 이런 문제가 발생하는 이유는.....

Web/PHP 2018.07.02