> 백엔드 개발 > PHP 문제 > 파일/디렉토리 이름을 추출하는 PHP 파일 작업

파일/디렉토리 이름을 추출하는 PHP 파일 작업

青灯夜游
풀어 주다: 2023-03-12 07:42:01
원래의
6596명이 탐색했습니다.

이전 글 "php 파일 연산은 파일의 위치 정보(절대 주소)를 반환합니다"에서는 현재 파일의 경로를 알아내는 4가지 방법에 대해 알아보았습니다. 이번에는 PHP 파일 작업 시리즈를 계속해서 현재 파일의 지정된 경로나 파일 이름(디렉터리 이름)을 가져오는 방법에 대해 이야기합니다. 관심 있는 친구들은 이에 대해 배울 수 있습니다~

이 기사의 주요 내용은 다음과 같습니다. file/ 디렉토리의 이름 부분". 현재 파일의 파일 이름을 반환하거나 지정된 파일 URL의 파일 이름을 반환할 수 있습니다.

One: 파일의 이름 부분 가져오기

1. 사전 정의된 변수 $_SERVER 사용 - 현재 파일의 파일 이름$_SERVER  --当前文件的文件名

在上文中,我们就介绍了$_SERVER是一个包含服务器和执行环境信息的数组,其中一个信息就是“路径(path)”。

我们可以使用$_SERVER['PHP_SELF']来获取当前执行脚本的文件名,不过在文件名前会有一个斜杠“/”

<?php
header("content-type:text/html;charset=utf-8");
echo "当前文件的文件名: ".$_SERVER[&#39;PHP_SELF&#39;];
?>
로그인 후 복사

输出结果为:

当前文件的文件名: /demo.php
로그인 후 복사

这样的效果,使用$_SERVER[&#39;SCRIPT_NAME&#39;]也可以实现

echo "当前文件的文件名: ".$_SERVER[&#39;SCRIPT_NAME&#39;];
로그인 후 복사

输出结果和上面一样。

2、使用basename() 函数--指定文件URL的文件名

<?php
header("content-type:text/html;charset=utf-8");
$path = "C:/wamp/www/demo.php";
echo &#39;指定路径$path的文件名称: &#39;.basename($path);
?>
로그인 후 복사

输出结果为:

指定路径$path的文件名称: demo.php
로그인 후 복사

OK,这种的才是我们想要的文件名。上面使用预定义变量 $_SERVER 获取的文件名也可以利用basename() 函数处理一下

<?php
header("content-type:text/html;charset=utf-8");
echo "当前文件的文件名: ".basename($_SERVER[&#39;PHP_SELF&#39;]);
?>
로그인 후 복사

输出结果为:

当前文件的文件名: demo.php
로그인 후 복사

3、使用 pathinfo() 函数--指定文件URL的文件名

pathinfo() 函数能以数组的形式返回关于文件路径的信息,各数组元素及其包含的信息如下:

  • [dirname]:目录路径

  • [basename]:文件名

  • [extension]:文件后缀名

  • [filename]:不包含后缀的文件名

<?php
$path = "C:/wamp/www/demo.php";
$arr = pathinfo($path);
var_dump($arr);
?>
로그인 후 복사

输出结果为:

파일/디렉토리 이름을 추출하는 PHP 파일 작업

我们利用$arr[&#39;basename&#39;]就可以获取文件名,如果想要获取不包含后缀的文件名,则可使用$arr[&#39;filename&#39;]

echo "文件名:".$arr[&#39;basename&#39;];
echo "<br>不包含后缀的文件名:".$arr[&#39;filename&#39;];
로그인 후 복사

输出结果为:

파일/디렉토리 이름을 추출하는 PHP 파일 작업

利用$arr[&#39;extension&#39;]还可以获取文件扩展名

echo "文件扩展名:".$arr[&#39;extension&#39;];
로그인 후 복사

파일/디렉토리 이름을 추출하는 PHP 파일 작업

二:获取目录的名称部分

1、使用魔术常量 __DIR__ ---- 当前文件所在目录的名称部分。

__DIR__ 常量可获取当前文件的绝对路径(不包含文件名),即当前文件所在目录的名称部分。

例包含下面程序的PHP文件名为demo.php,完整路径为“C:/wamp/www/demo.php

<?php
header("content-type:text/html;charset=utf-8");
echo "当前文件的目录名: ".__DIR__;
?>
로그인 후 복사

输出结果为:

当前文件的目录名: C:\wamp\www
로그인 후 복사

2、使用 dirname() 函数--指定文件URL的目录名

dirname($path)

위에서 소개했습니다. $ _SERVER는 서버 및 실행 환경 정보를 담고 있는 배열로, 그 중 하나가 "path"이다.

$_SERVER['PHP_SELF']를 사용하여 현재 실행 중인 스크립트의 파일 이름을 가져올 수 있지만 파일 이름 앞에 슬래시 "/"가 표시됩니다

출력 결과는 다음과 같습니다. :

指定路径$path的目录名称: C:/wamp/www
로그인 후 복사
🎜 이 효과는 $_SERVER['SCRIPT_NAME']🎜rrreee🎜를 사용하여 얻을 수도 있습니다. 출력 결과는 위와 동일합니다.
🎜🎜🎜2. basename() 함수를 사용하세요 - 파일 URL의 파일 이름을 지정하세요🎜🎜rrreee🎜출력 결과는 다음과 같습니다: 🎜rrreee🎜OK, 이것이 우리가 원하는 파일 이름입니다. 위에서 미리 정의된 변수 $_SERVER를 사용하여 얻은 파일 이름은 basename() 함수🎜rrreee🎜를 사용하여 처리할 수도 있습니다. 출력 결과는 다음과 같습니다. 🎜rrreee🎜🎜3 pathinfo() 함수를 사용하여 파일 이름을 지정합니다. URL🎜🎜🎜pathinfo () 이 함수는 파일 경로에 대한 정보를 배열 형식으로 반환할 수 있습니다. 각 배열 요소와 포함된 정보는 다음과 같습니다. 🎜
  • 🎜[dirname ]: 디렉터리 경로🎜
  • 🎜[basename]: 파일 이름🎜
  • 🎜[확장자]: 파일 접미사 이름🎜
  • 🎜[filename]: 접미사 없는 파일 이름🎜
rrreee🎜출력 결과는 다음과 같습니다. 🎜🎜파일/디렉토리 이름을 추출하는 PHP 파일 작업 🎜🎜$arr ['basename']을 사용하면 파일 이름을 얻을 수 있습니다. 접미사 없이 파일 이름을 얻으려면 $arr['filename']. 🎜rrreee🎜출력 결과는 다음과 같습니다. 🎜🎜<img src="https://img.php.cn/upload/image/816/144/877/162944765139572%ED%8C%8C%EC%9D%BC/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EC%B6%94%EC%B6%9C%ED%95%98%EB%8A%94%20PHP%20%ED%8C%8C%EC%9D%BC%20%EC%9E%91%EC%97%85" title="162944765139572파일/디렉토리 이름을 추출하는 PHP 파일 작업" alt="2 .png">🎜🎜<code>$arr['extension']을 사용하여 파일 확장자🎜rrreee🎜파일/디렉토리 이름을 추출하는 PHP 파일 작업🎜🎜🎜🎜둘: 디렉터리의 이름 부분을 가져옵니다🎜🎜🎜🎜🎜1. 마법 상수 사용 __DIR__ ---- 현재 파일이 위치한 디렉터리의 이름 부분입니다. 🎜🎜🎜__DIR__ 상수는 현재 파일의 절대 경로(파일 이름 제외), 즉 현재 파일이 위치한 디렉터리의 이름 부분을 가져올 수 있습니다. 🎜🎜다음 프로그램이 포함된 예제 PHP 파일 이름은 데모.php이고 전체 경로는 "C:/wamp/www/demo.php"입니다.
🎜rrreee🎜출력 결과 is: 🎜rrreee 🎜🎜2. dirname() 함수를 사용하여 파일 URL🎜🎜🎜dirname($path)의 디렉터리 이름을 지정하세요. 이 함수는 경로의 디렉터리 이름 부분을 반환할 수 있습니다. $path. 🎜rrreee🎜출력 결과는 다음과 같습니다. 🎜rrreee🎜그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜php 비디오 튜토리얼🎜🎜

위 내용은 파일/디렉토리 이름을 추출하는 PHP 파일 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿