touch.phpt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. --TEST--
  2. touch() tests
  3. --SKIPIF--
  4. <?php
  5. if (substr(PHP_OS, 0, 3) == 'WIN') {
  6. die('skip.. only for Non Windows.');
  7. }
  8. ?>
  9. --FILE--
  10. <?php
  11. // This doesn't work for windows, time, atime usage results in very different
  12. // output to linux. This could be a php.net bug on windows or a windows querk.
  13. $filename = dirname(__FILE__)."/touch.dat";
  14. var_dump(touch());
  15. var_dump(touch($filename));
  16. var_dump(filemtime($filename));
  17. @unlink($filename);
  18. var_dump(touch($filename, 101));
  19. var_dump(filemtime($filename));
  20. @unlink($filename);
  21. var_dump(touch($filename, -1));
  22. var_dump(filemtime($filename));
  23. @unlink($filename);
  24. var_dump(touch($filename, 100, 100));
  25. var_dump(filemtime($filename));
  26. @unlink($filename);
  27. var_dump(touch($filename, 100, -100));
  28. var_dump(filemtime($filename));
  29. var_dump(touch("/no/such/file/or/directory"));
  30. @unlink($filename);
  31. echo "Done\n";
  32. ?>
  33. --EXPECTF--
  34. Warning: touch() expects at least 1 parameter, 0 given in %s on line %d
  35. NULL
  36. bool(true)
  37. int(%d)
  38. bool(true)
  39. int(101)
  40. bool(true)
  41. int(%i)
  42. bool(true)
  43. int(100)
  44. bool(true)
  45. int(100)
  46. Warning: touch(): Unable to create file /no/such/file/or/directory because %s in %s on line %d
  47. bool(false)
  48. Done