이 글은 PHP를 사용하여 파일의 접미사 이름을 얻는 여러 가지 방법을 요약합니다. 매우 간단하고 실용적입니다. 도움이 필요한 친구들이 참고할 수 있습니다.
예를 들어 이미지 파일의 접미사, jpg 또는 gif 등
두 가지 방법이 있습니다
첫째, $img가 이미지 파일 이름이라면
$img=12345.gif; $img_ext = substr($img, strrpos($img, '.'));
둘째, php 배열을 사용하고, 먼저 파일 이름 문자열을 배열에 읽어들이고
$ext2=explode(".",$img); $count=count($ext2); $count2=$count-1; $file_name = $urlstr .'.'.$ext2[$count2];//得到后缀并重新定义新的文件名$file_name
또한 첨부합니다 다른 친구들 요약 나왔던 방법 :
第1种方法: function get_extension($file) { substr(strrchr($file, '.'), 1); } 第2种方法: function get_extension($file) { return substr($file, strrpos($file, '.')+1); } 第3种方法: function get_extension($file) { return end(explode('.', $file)); } 第4种方法: function get_extension($file) { $info = pathinfo($file); return $info['extension']; } 第5种方法: function get_extension($file) { return pathinfo($file, PATHINFO_EXTENSION); }
위 방법들을 잠깐 훑어보니 다 되는 것 같더라고요. 특히 1번과 2번 방법은 예전에 몰랐던 방법인데.. 해당 pathinfo에는 두 번째 매개변수가 있습니다. 하지만 잘 생각해 보면 처음 네 가지 방법에는 여러 가지 단점이 있습니다. 파일 확장자를 완전히 정확하게 얻으려면 다음 세 가지 특별한 상황을 처리할 수 있어야 합니다.
파일 확장자 없음
경로에 . 문자가 포함되어 있습니다. 예: /home/test.d/test.txt
경로에 . 문자가 포함되어 있지만 파일에는 확장자가 없습니다. 예를 들어, /home/test.d/test
은 명백합니다. 1과 2는 세 번째 상황을 처리할 수 없고, 3은 첫 번째와 세 번째 상황을 올바르게 처리할 수 없습니다. 4는 올바르게 처리되지만 확장이 없으면 경고가 발생합니다. 방법 5만이 가장 정확한 방법입니다. 그런데 pathinfo 메소드를 살펴보세요. 공식 홈페이지에 소개된 내용은 다음과 같습니다.
$file_path = pathinfo('/www/htdocs/your_image.jpg'); echo "$file_path ['dirname']\n"; echo "$file_path ['basename']\n"; echo "$file_path ['extension']\n"; echo "$file_path ['filename']\n"; // only in PHP 5.2+
최대 4개의 요소를 포함하는 배열을 반환하지만 항상 4개가 있는 것은 아닙니다. 예를 들어 확장자가 없으면 항목도 없습니다. 확장 요소이므로 네 번째 방법만 경고를 감지합니다. 그러나 phpinfo는 두 번째 매개변수도 지원합니다. 반환할 데이터의 특정 부분을 지정하기 위해 상수를 전달할 수 있습니다.
PATHINFO_DIRNAME - 目录 PATHINFO_BASENAME - 文件名(含扩展名) PATHINFO_EXTENSION - 扩展名 PATHINFO_FILENAME - 文件名(不含扩展名,PHP>5.2)
이 네 가지 상수의 값은 각각 1, 2, 4, 8입니다. OR 연산을 통해 여러 개의 상수를 지정할 수 있다고 생각했습니다.
pathinfo($file, PATHINFO_EXTENSION | PATHINFO_FILENAME);
나중에 이것이 작동하지 않고 여러 OR 상수 중 가장 작은 것만 반환한다는 것을 알게 되었습니다. 즉, 4개의 플래그 비트 중 가장 작은 비트는 상수 1입니다.
요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 권장 사항:
현재 파일의 상위 디렉터리를 얻기 위한 PHP 구현 방법 요약
클라이언트 및 서버 IP 캡슐화 클래스를 얻기 위한 PHP 구현
WeChat 빨간 봉투 기반 구현을 위한 알고리즘 PHP에서
위 내용은 PHP에서 파일 확장자를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!