1--TEST-- 2setMtime 3--SKIPIF-- 4<?php 5/* $Id$ */ 6if(!extension_loaded('zip')) die('skip'); 7if (!method_exists('ZipArchive', 'setMtimeName')) die('skip libzip too old'); 8?> 9--INI-- 10date.timezone=UTC 11--FILE-- 12<?php 13$dirname = dirname(__FILE__) . '/'; 14include $dirname . 'utils.inc'; 15$file = $dirname . '__tmp_oo_set_mtime.zip'; 16 17@unlink($file); 18 19$zip = new ZipArchive; 20if (!$zip->open($file, ZIPARCHIVE::CREATE)) { 21 exit('failed'); 22} 23 24$zip->addFromString('foo', 'entry #1'); 25$zip->addFromString('bar', 'entry #2'); 26 27$t1 = mktime(0,0,0,12,25,2019); 28$t2 = mktime(0,0,0,14,7,2018); 29 30echo "Set 1\n"; 31$s = $zip->statName('foo'); 32var_dump($s['mtime'] > $t1); 33var_dump($zip->setMtimeName('foo', $t1)); 34$s = $zip->statName('foo'); 35// ONLY with 1.6.0 - var_dump($s['mtime'] == $t1); 36 37echo "Set 2\n"; 38$s = $zip->statIndex(1); 39var_dump($s['mtime'] > $t2); 40var_dump($zip->setMtimeIndex(1, $t2)); 41$s = $zip->statIndex(1); 42// ONLY with 1.6.0 - var_dump($s['mtime'] == $t2); 43 44if (!$zip->status == ZIPARCHIVE::ER_OK) { 45 echo "failed to write zip\n"; 46} 47$zip->close(); 48 49if (!$zip->open($file)) { 50 @unlink($file); 51 exit('failed'); 52} 53 54echo "Get 1\n"; 55$s = $zip->statIndex(0); 56var_dump($s['mtime'] == $t1); 57 58echo "Get 2\n"; 59$s = $zip->statName('bar'); 60var_dump($s['mtime'] == $t2); 61 62$zip->close(); 63@unlink($file); 64 65?> 66--EXPECT-- 67Set 1 68bool(true) 69bool(true) 70Set 2 71bool(true) 72bool(true) 73Get 1 74bool(true) 75Get 2 76bool(true) 77