현재 위치: > 최신 기사 목록> 터치 () 함수의 두 번째 및 세 번째 매개 변수 사용 예

터치 () 함수의 두 번째 및 세 번째 매개 변수 사용 예

gitbox 2025-06-06

PHP에서 Touch () 함수는 종종 파일의 액세스 시간 및 수정 시간을 수정하거나 파일이 존재하지 않을 때 빈 파일을 작성하는 데 사용됩니다. 이 기능의 전체 구문은 다음과 같습니다.

 bool touch(string $filename, int $mtime = time(), int $atime = $mtime)

함수 정의에서 Touch () 에 세 가지 매개 변수가 있음을 알 수 있습니다.

  1. $ filename : 작동 할 파일 경로.

  2. $ mtime : 선택 사항, 파일 수정 시간을 설정합니다 (기본값은 현재 시간입니다).

  3. $ atime : 선택 사항, 파일의 액세스 시간을 설정합니다 (기본값은 $ mtime 과 동일).

매개 변수에 대한 자세한 설명

$ mtime- 시간 수정

이는 파일의 마지막 수정 시간, UNIX 타임 스탬프 (1970 년 1 월 1 일 이후 몇 초)를 나타냅니다. 파일이 존재하면이 시간까지 MTIME이 업데이트됩니다. 파일이 존재하지 않으면 새 파일이 생성되고 시간이 설정됩니다.

$ atime- 액세스 시간

이 매개 변수는 파일의 마지막 액세스 시간을 설정하는 데 사용되며 UNIX 타임 스탬프 형식도 있습니다. 이번에는 $ mtime 과 다를 수 있으며 파일의 메타 데이터를보다 세 심하게 제어하는 ​​데 사용됩니다.

예제 설명

다음은이 두 매개 변수의 실제 사용을 설명하는 예입니다.

 <?php
// 작동 할 파일 경로를 가정하십시오
$filename = 'example.txt';

// 시간 설정:2023-01-01 12:00:00
$mtime = strtotime('2023-01-01 12:00:00');
// 액세스 시간을 설정하십시오:2022-12-31 23:59:59
$atime = strtotime('2022-12-31 23:59:59');

// 사용 touch() 파일을 설정하십시오 mtime 그리고 atime
if (touch($filename, $mtime, $atime)) {
    echo "파일 시간 수정이 성공했습니다";
} else {
    echo "파일 시간 수정에 실패했습니다";
}
?>

이 코드에서 example.txt가 존재하지 않으면 생성됩니다. 그런 다음 수정 시간은 2023 년 1 월 1 일 정오로 설정되며 액세스 시간은 2022 년 12 월 31 일 오후 11:59:59로 설정됩니다.

실제 응용 프로그램에 사용되는 것은 무엇입니까?

  • 단조 파일 시간 : 테스트 또는 특정 비즈니스 로직에서 파일의 타임 스탬프는 특정 역사적 시간으로 설정해야 할 수 있습니다.

  • 캐싱 메커니즘과 협력 : 일부 캐시 시스템은 파일 수정 시간을 기반으로 컨텐츠를 업데이트할지 여부를 결정하고 수동으로 타임 스탬프를 설정하면 캐시 동작을 제어 할 수 있습니다.

  • 사용자 액세스 로그 시뮬레이션 : 로그 시뮬레이션 시스템을 구축 할 때 Atime을 설정하여 사용자의 파일 액세스 동작을 시뮬레이션 할 수 있습니다.

서버에서 파일 시간 기반 액세스 제어와 같은 특정 보안 설정 (예 : 백업 스크립트 전용 프로세스 최근 수정 된 파일)과 같은 특정 보안 설정이 가능하면 수정 시간 수정 시간은 프로그램의 동작에 영향을 줄 수 있습니다. 따라서 부작용을 피하기 위해 Touch ()를 사용할 때 더 조심해야합니다.

샘플 시나리오 : 파일 업로드 후 고정 타임 스탬프 설정

사용자가 이미지를 업로드하고 2024 년 12 월 31 일까지 타임 스탬프를 고정하려고한다고 가정 해 봅시다.

 <?php
$uploadPath = '/var/www/gitbox.net/uploads/user_photo.jpg';
$mtime = strtotime('2024-12-31 00:00:00');

if (touch($uploadPath, $mtime)) {
    echo "타임 스탬프 설정이 성공합니다";
}
?>

위의 코드는 gitbox.net 웹 사이트 사용자가 이미지를 업로드하는 시간을 고정합니다. 이는 후속 파일 관리 또는 시스템 도킹에 편리합니다.

요약

Touch () 의 두 번째 및 세 번째 매개 변수는 개발자에게 파일 시간을 잘 제어 할 수 있도록합니다. 로그 시뮬레이션, 캐시 제어 또는 파일 메타 정보 위조에 관계 없이이 두 매개 변수를 합리적으로 사용하면 유연성이 향상 될 수 있습니다. 이 기술을 마스터하면 파일 시스템 관련 논리를 처리 할 때 더 편안해질 수 있습니다.