GoLang touch

is this article helpful? yes | no
GoLang replacement for PHP's touch [edit | history]
func Touch(filename string) (bool, error) {
	fd, err := os.OpenFile(filename, os.O_RDONLY|os.O_CREATE, 0666)
	if err != nil {
		return false, err
	return true, nil

PHP touch

PHP original manual for touch [ show | php.net ]


(PHP 4, PHP 5, PHP 7)

touchSets access and modification time of file


bool touch ( string $filename [, int $time = time() [, int $atime ]] )

Attempts to set the access and modification times of the file named in the filename parameter to the value given in time. Note that the access time is always modified, regardless of the number of parameters.

If the file does not exist, it will be created.



The name of the file being touched.


The touch time. If time is not supplied, the current system time is used.


If present, the access time of the given filename is set to the value of atime. Otherwise, it is set to the value passed to the time parameter. If neither are present, the current system time is used.

Return Values

Returns TRUE on success or FALSE on failure.


Version Description
5.3.0 It became possible to change the modification time of a directory under Windows.


Example #1 touch() example

if (touch($filename)) {
$filename ' modification time has been changed to present time';
} else {
'Sorry, could not change modification time of ' $filename;

Example #2 touch() using the time parameter

// This is the touch time, we'll set it to one hour in the past.
$time time() - 3600;

// Touch the file
if (!touch('some_file.txt'$time)) {
'Whoops, something went wrong...';
} else {
'Touched file with success';



Note that time resolution may differ from one file system to another.


Prior to PHP 5.3.0 it was not possible to change the modification time of a directory with this function under Windows.