메뉴 건너뛰기

프로그램언어

조회 수 429 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

웹사이트 구축시 파일 이름을 알아야 하는 경우가 있을 수 있습니다. 이런 경우 파일의 이름을 알기 위한 함수가 많이 존재합니다. 이 중에서 우리는 파일 이름 전체가 아닌 일부만 필요하다고 생각해보겠습니다.

이 경우 어떻게 해야 할까요? 만약 파일 이름만 필요하여 확장자를 제외하는 경우가 있다면 그 방법은 무엇일까요? 문자열 기준으로 자르거나 분리하는 방법을 사용할 수도 있겠지만 다행히 php는 순수 파일 이름만 반환하는 유용한 함수를 제공하고 있습니다. 오늘 알아볼 basename() 함수가 그것이죠. 아래는 간단한 사용방법입니다.

basename($test, option value)


위와같이 첫번째 인자는 순수 파일명만 가져올 변수를 설정하고 두번째 인자는 선택사항입니다. 선택사항에 특정 확장자를 넣을 경우 해당하는 확장자 역시 보여주지 않게됩니다즉 확장자 명도 삭제되죠... 그럼 아래 예제를 봐주세요.

# basename() 함수를 사용한 예제보기

아래는 basename() 함수를 사용한 간단한 예제입니다.

<?php
   $pathName = '/uploadfile/sampleimage.jpg';
   $modName = basement($pathName);

   echo $modName;
   // 함수를 적용하여 이름만 출력
?>


위 함수를 실행하면 아래와 같이 출력될 것입니다.

 

sampleimage.jpg

매우 간단하게 경로를 삭제하였죠? 파일 경로를 삭제하기 위해 정규표현식이나 explode()함수를 사용하여 특정 문자를 삭제할 수도 있겠지만 간단하지 않습니다. 이 방법은 간단한 사용과 함께 순수 이름을 반환해줍니다. 만약 뒤의 확장자도 안보여주려면 어떻게 해야할까요? 두번째 인자가 필요하겠죠!!


! 확장자도 삭제하는 방법 보기
이번에는 확장자 역시 함께 삭제합니다.

<?php
   $pathName = '/uploadfile/sameimage.jpg';
   $modName = basement($pathName, 'jpg');
   // 두번째 매개변수를 입력함

   $echo modName;
?>


위 예제와의 차이점으로 두번째 인자에 확장자명인 'jpg'를 추가하였습니다. 이 인자로 인해 파일명에 포함된 jpg 확장자는 삭제됩니다. 아래와 같이 출력될 것이라 예상할 수 있습니다.

 

sampleimage.

실행해보면 뒤에 구둣점이 들어가게됩니다. 만약 구둣점을 함께 제거해주려면? 확장자 앞에 . 기호를 추가하는 것으로 가능합니다. 아래처럼 말이죠...

 

$modName = basename($pathName, '.jpg');


우리가 원하는대로 확장자(extension)가 사라지고 파일 이름의 접두어만 반환해 주었습니다. 이럴 필요가 있을까 생각해 볼수도 있겠지만 파일 전체 이름의 중간에 특정 단어를 추가한다는 등 의외로 쓰임새가 많이 있을 수 있습니다. 예를들어 아래와 같이 만들 수 있죠.

 

sampleimage_test.jpg

보시는 것처럼 _test를 추가하였습니다.


List of Articles
번호 제목 날짜 조회 수
200 PHP 휴대폰번호 짜르기 (preg_replace) "-" 넣기. 형식바꾸기 2018.07.04 4057
199 PHP eregi가 빠를까, strpos가 빠를까? 2018.10.27 4091
198 PHP 랜덤 문자열 생성 2018.10.27 4121
197 날짜계산 몇일까지.. [ ex)4 일전 new 표시 ] 2018.07.24 4523
196 웹서버조회 소스 2018.07.24 4543
195 마우스 오버시 사진변환, 파일에러시 대체이미지 적용(소스일부) 2018.07.24 4584
194 PHP 랜덤확률 구하기 2018.10.27 4763
193 게시판 내용 숨김 클릭시 내용 출력 [ 참고 ] 2018.07.24 4767
192 MySQL테이블의 내용을 엑셀파일(xls)로 다운로드 하기 2018.07.24 4798
191 날짜, 시간 포맷하기 (PHP) 2018.07.04 5230
190 이미지 땡겨와서 출력하기 2018.09.28 5288
189 방금 INSERT 했던 SQL 문의 PK(primary key)값 가져오기 2018.07.04 5347
188 PHP 특정 디렉토리에 있는 파일 갯수 구하기 2018.07.19 5455
187 gcm 푸시 알림 php 테스트 2018.07.19 5582
186 키를 이용한 암호화/복호화 함수입니다. 2018.07.24 5741
185 PHP 파일크기 단위 붙이기 (용량 변환) file size conversion source code 2018.07.04 5793
184 쿠폰번호 발행 업데이트판. (간단한 클래스화[PHP4 기준] 등...) 2018.07.19 6041
183 fcm 푸시 알림 php 테스트 2018.07.19 6048
182 DB 연동 4단 셀렉트 박스 2018.09.28 6085
181 PHP 소스코드 인코딩(암호화)하기 2018.07.19 6645
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved