Bagaimana untuk menggunakan PHP ZipArchive untuk mengubah suai tarikh dan masa fail dalam pakej termampat?
Ikhtisar:
Semasa pembangunan, kadangkala perlu mengubah suai tarikh dan masa fail dalam pakej termampat (fail zip). PHP menyediakan kelas ZipArchive untuk mengendalikan pakej termampat Kita boleh menggunakan kelas ini untuk mengubah suai tarikh dan masa fail dalam pakej termampat. Berikut akan memperkenalkan cara menggunakan kelas ZipArchive PHP untuk melaksanakan fungsi ini, dan menyediakan contoh kod yang sepadan.
Contoh kod:
Pertama, kita perlu mencipta objek ZipArchive dan membuka arkib untuk diubah suai. Kodnya adalah seperti berikut:
$zip = new ZipArchive; $zip_file = 'path_to_zip_file.zip'; if ($zip->open($zip_file) === TRUE) { // 打开压缩包成功 } else { // 打开压缩包失败 exit('Unable to open the zip file.'); }
Seterusnya, kita perlu merentasi fail dalam pakej termampat dan mengubah suai tarikh dan masa fail satu demi satu. Kodnya kelihatan seperti ini:
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)); }
Akhir sekali, kita perlu menyimpan dan menutup pakej termampat yang diubah suai. Kodnya adalah seperti berikut:
$zip->close(); echo '压缩包中文件的日期时间已成功修改。';
Nota:
$file_datetime
ialah tarikh dan masa dalam bentuk rentetan, yang boleh diubah suai mengikut situasi sebenar. $file_datetime
是一个字符串形式的日期时间,可以根据实际情况进行修改。$zip->setModificationTime()
时,需要将日期时间转换为时间戳形式,通过strtotime()
函数实现。setModificationTime()
方法修改文件的日期时间之前,确保已经通过getNameIndex()
方法获取了文件的名称,并通过getindex()
$zip->setModificationTime()
, tarikh dan masa perlu ditukar kepada borang cap waktu, yang dilaksanakan melalui fungsi strtotime()
. Sebelum menggunakan kaedah setModificationTime()
untuk mengubah suai tarikh dan masa fail, pastikan anda telah memperoleh nama fail melalui kaedah getNameIndex()
dan lulus getindex()
Kaedah mendapatkan indeks fail dalam pakej termampat.
Atas ialah kandungan terperinci Bagaimanakah PHP ZipArchive mengubah suai tarikh dan masa fail dalam pakej termampat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!