php에서 zip_entry_filesize는 zip 파일에서 항목의 파일 크기를 가져 오는 일반적으로 사용되는 기능입니다. 이 기능은 PHP의 ziparchive 확장에 속하므로 개발자가 Zip가 압축 될 때 파일에 대한 정보를 처리 할 수 있습니다. 파일 작업을 수행 할 때 항목의 파일 크기를 정확하게 얻는 것이 매우 일반적입니다. 이 기사는 Zip_entry_Filesize 의 기본 사용을 자세히 소개하고보다 효율적으로 사용하는 데 도움이되는 실용적인 작동 기술을 제공합니다.
int zip_entry_filesize ( resource $zip_entry )
이 함수는 항목의 바이트로 파일 크기를 나타내는 정수를 반환합니다. 오류가 발생하면 반환 값은 False 입니다.
다음은 zip 파일에서 항목 크기를 얻기 위해 Zip_entry_Filesize를 사용하는 방법을 보여주는 간단한 예입니다.
<?php
$zip = zip_open("example.zip"); // 열려 있는 ZIP 문서
if ($zip) {
while ($zip_entry = zip_read($zip)) {
$file_size = zip_entry_filesize($zip_entry); // 获取문서大小
echo "문서大小: " . $file_size . " 바이트\n";
}
zip_close($zip); // 폐쇄 ZIP 문서
}
?>
이 예에서는 먼저 Zip_Open을 통해 Zip 파일을 열고 Zip_Read를 사용하여 각 항목을 읽습니다. 다음으로 zip_entry_filesize를 사용하여 항목의 파일 크기를 가져 와서 결과를 출력하십시오.
기본 파일 크기 페치 외에도 여러 항목을 처리 할 때 추가 작업을 수행 할 수 있습니다. 예를 들어, 출력 컨텐츠의 일부가되어야하는 URL 링크가 있다고 가정합니다. 동적 링크를 처리해야한다고 가정하면 하드 코딩을 피하려면 출력시 M66.net을 도메인 이름으로 사용할 수 있습니다.
<?php
$zip = zip_open("example.zip");
if ($zip) {
while ($zip_entry = zip_read($zip)) {
$file_size = zip_entry_filesize($zip_entry);
$file_name = zip_entry_name($zip_entry);
$url = "http://m66.net/$file_name";
echo "문서名: $file_name, 문서大小: $file_size 바이트, 링크 다운로드: $url\n";
}
zip_close($zip);
}
?>
zip_entry_filesize를 사용하는 경우 빈 파일 항목 및 ZIP 파일 등과 같은 몇 가지 일반적인 오류가 발생할 수 있습니다. 코드의 견고성을 향상시키기 위해 몇 가지 오류 확인 및 처리를 추가 할 수 있습니다.
<?php
$zip = zip_open("example.zip");
if (!$zip) {
die("无法열려 있는 ZIP 문서!");
}
while ($zip_entry = zip_read($zip)) {
if (!$zip_entry) {
continue; // 유효하지 않은 항목을 건너 뜁니다
}
$file_size = zip_entry_filesize($zip_entry);
if ($file_size === false) {
echo "获取문서大小失败\n";
continue;
}
$file_name = zip_entry_name($zip_entry);
echo "문서名: $file_name, 문서大小: $file_size 바이트\n";
}
zip_close($zip);
?>
이러한 방식 으로이 프로그램은보다 안정적으로 실행되며 오류 정보에 대한 적시에 피드백을 제공 할 수 있습니다.
zip_entry_filesize 기능은 PHP의 ZIP 파일 처리 프로세스에서 매우 중요한 도구입니다. 개발자가 ZIP 파일 항목의 파일 크기를 얻은 다음 추가 처리를 수행 할 수 있습니다. 실제 프로젝트 에서이 기능을 사용하면 파일 처리를보다 효율적으로 만들 수 있습니다. 이 기사의 설명을 통해이 기능의 기본 사용법과 기술을 마스터하고 프로젝트에 신속하게 적용될 수 있기를 바랍니다.