PHP ZipArchive를 사용하여 압축 패키지에 있는 파일의 날짜와 시간을 수정하는 방법은 무엇입니까?
개요:
개발 중에 압축된 패키지(zip 파일)에 있는 파일의 날짜와 시간을 수정해야 하는 경우가 있습니다. PHP는 압축된 패키지를 작동하기 위해 ZipArchive 클래스를 제공합니다. 이 클래스를 사용하여 압축된 패키지에 있는 파일의 날짜와 시간을 수정할 수 있습니다. 다음은 PHP의 ZipArchive 클래스를 사용하여 이 기능을 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다.
코드 예:
먼저 ZipArchive 개체를 생성하고 수정할 아카이브를 열어야 합니다. 코드는 다음과 같습니다.
$zip = new ZipArchive; $zip_file = 'path_to_zip_file.zip'; if ($zip->open($zip_file) === TRUE) { // 打开压缩包成功 } else { // 打开压缩包失败 exit('Unable to open the zip file.'); }
다음으로 압축된 패키지의 파일을 순회하면서 파일의 날짜와 시간을 하나씩 수정해야 합니다. 코드는 다음과 같습니다.
for ($i=0; $i < $zip->numFiles; $i++) { $file_name = $zip->getNameIndex($i); $file_datetime = '2022-01-01 00:00:00'; // 修改后的日期时间 // 获取文件在压缩包中的索引 $index = $zip->getindex($file_name); // 修改文件的日期时间 $zip->setModificationTime($index, strtotime($file_datetime)); }
마지막으로 수정된 압축 패키지를 저장하고 닫아야 합니다. 코드는 다음과 같습니다.
$zip->close(); echo '压缩包中文件的日期时间已成功修改。';
주의사항:
$file_datetime
은 문자열 형태의 날짜와 시간으로, 실제 상황에 따라 수정될 수 있습니다. $file_datetime
是一个字符串形式的日期时间,可以根据实际情况进行修改。$zip->setModificationTime()
时,需要将日期时间转换为时间戳形式,通过strtotime()
函数实现。setModificationTime()
方法修改文件的日期时间之前,确保已经通过getNameIndex()
方法获取了文件的名称,并通过getindex()
$zip->setModificationTime()
호출 시 날짜와 시간을 타임스탬프 형식으로 변환해야 하며 이는 strtotime()
함수를 통해 구현됩니다. setModificationTime()
메서드를 사용하여 파일의 날짜와 시간을 수정하기 전에 getNameIndex()
메서드를 통해 파일 이름을 얻었는지 확인하고 getindex() 전달
메서드는 압축된 패키지에 있는 파일의 인덱스를 가져옵니다.
위 내용은 PHP ZipArchive는 압축된 패키지에 있는 파일의 날짜와 시간을 어떻게 수정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!