>  기사  >  백엔드 개발  >  PHP 배열에서 하나의 파일 이름만 가져옵니다.

PHP 배열에서 하나의 파일 이름만 가져옵니다.

王林
王林원래의
2023-05-11 10:45:37429검색

PHP 프로그래밍에서 배열은 관련 데이터 집합을 저장하는 데 매우 일반적으로 사용되는 데이터 유형입니다. 파일 업로드를 처리할 때 배열을 사용하여 업로드된 파일에 대한 정보를 저장할 수 있습니다. 일반적으로 업로드되는 파일 정보에는 파일 이름, 파일 유형, 파일 크기 등이 포함되며, 그 중 파일 이름은 매우 중요한 요소입니다.

PHP 배열에서는 배열 첨자를 사용하여 배열의 요소에 액세스할 수 있습니다. 예:

$files = $_FILES['file']; // $_FILES是PHP的预定义变量之一,用于处理HTTP上传文件
$fileName = $files['name']; // 获取上传文件的文件名

위 코드에서는 먼저 $_FILES['file']을 통해 파일 업로드 개체를 얻은 다음 $file을 사용합니다. [ 'name'] 업로드된 파일의 파일 이름을 가져옵니다. 그러나 여러 파일을 업로드하는 경우 $_FILES'file'은 아래와 같이 업로드된 모든 파일의 파일 이름을 포함하는 배열이 됩니다.

Array
(
    [0] => file1.txt
    [1] => file2.txt
    [2] => file3.txt
)

파일 중 하나의 파일 이름만 가져와야 하는 경우, 우리는 그것에 대해 무엇을 할 수 있나요? 다음은 두 가지 방법이 있습니다.

방법 1: 배열 첨자를 사용하여 접근

배열 첨자를 지정하여 지정된 파일의 파일 이름을 가져올 수 있습니다. 예를 들어, 두 번째 업로드된 파일의 파일 이름을 얻으려면 다음 코드를 사용할 수 있습니다.

$fileName = $_FILES['file']['name'][1];

위 코드에서 $_FILES'file'은 배열이고, [1]은 아래 첨자 1을 가져오는 것을 의미합니다. 두 번째로 업로드된 파일의 파일 이름인 배열 요소에 있습니다.

그러나 이 방법에는 특정 제한 사항이 있으며 가져올 파일 이름의 아래 첨자를 알아야 합니다. 배열에 포함시키려는 파일 이름의 첨자를 모르는 경우 어떻게 해야 합니까? 이때 방법 2를 사용해야 합니다. 루프를 사용하여 배열을 탐색합니다.

방법 2: 루프 순회 사용

배열을 반복하여 배열의 모든 요소에 하나씩 액세스한 다음 판단하여 필요한 파일 이름을 필터링할 수 있습니다. 예를 들어 다음 코드는 foreach 루프를 사용하여 $_FILES'file' 배열을 순회하고 모든 파일 이름을 출력합니다.

foreach ($_FILES['file']['name'] as $fileName) {
    echo $fileName . '<br>';
}

위 코드에서 foreach 루프는 $_FILES['file' 배열의 각 요소를 반복합니다. ]['이름'], 즉, 업로드된 파일의 각 파일 이름에 대해 루프 본문의 코드 블록이 순차적으로 실행됩니다. 루프 본문에서 $fileName을 판단하여 필요한 파일 이름인지 확인할 수 있습니다.

물론, 배열의 첫 번째 파일 이름만 필요한 경우 다음과 같은 간단한 코드를 사용할 수 있습니다.

$fileName = reset($_FILES['file']['name']);

위 코드에서 재설정() 함수는 첫 번째 요소에 대한 포인터를 가리키는 데 사용됩니다. 배열 및 반환 이 요소의 값은 처음 업로드된 파일의 파일 이름입니다.

간단히 말하면, 업로드된 파일의 파일 이름을 PHP 배열로 가져오려면 배열 첨자를 사용하여 배열에 액세스하거나 반복할 수 있습니다. 필요한 파일 이름을 정확하게 얻으려면 실제 상황에 따라 적절한 방법을 선택해야 합니다.

위 내용은 PHP 배열에서 하나의 파일 이름만 가져옵니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.