#35980 [Ver->Asn]: touch() works on files but not on directories (on Linux this works perfectly)

From: Date: Sat, 15 Apr 2006 21:16:05 +0000
Subject: #35980 [Ver->Asn]: touch() works on files but not on directories (on Linux this works perfectly)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-95838@lists.php.net to get a copy of this message
ID: 35980 Updated by: tony2001@php.net Reported By: pavel dot hlousek at gmail dot com -Status: Verified +Status: Assigned Bug Type: *Directory/Filesystem functions Operating System: windows only PHP Version: * -Assigned To: +Assigned To: pollita New Comment: Sara, could you plz check the patch out? Thanks. Previous Comments: ------------------------------------------------------------------------ [2006-01-15 18:30:26] nlopess@php.net Patch: http://mega.ist.utl.pt/~ncpl/php_win_touch_dirs.txt Note: it includes a function that was adapted from Perl 5 (win_filetime_from_time). The Perl code is distributed under GPL (and that file is (c) 1995 Microsoft Corporation), so I'm not sure if the code can go in. That function just converts a time_t into microsoft's format. ------------------------------------------------------------------------ [2006-01-15 00:15:30] nlopess@php.net This is a bug in microsoft's utime implementation. However, Perl is able to workaround this bug with SetFileTime(). I'll see if I can cook a nice patch. ------------------------------------------------------------------------ [2006-01-14 10:58:44] sniper@php.net "Permission denied" means that the user which the script was run as does not have permissions to do it. It's not a PHP bug. ------------------------------------------------------------------------ [2006-01-12 16:17:05] pavel dot hlousek at gmail dot com Description: ------------ <?php touch('non-existing-file'); ?> - Correct. Creates a new file. <?php touch('existing-file'); ?> - Correct. Changes file's mtime. <?php touch('existing-directory'); ?> - Wrong on Win2K. Does not change directory's mtime. Correct on Linux. I did not test any other Win32 platforms. Filesystem: NTFS. The user running the script owns 'existing-directory'. safe_mode=Off. Reproduce code: --------------- <?php touch('existing-directory'); ?> Expected result: ---------------- Change mtime of an existing directory. Actual result: -------------- Utime failed: Permission denied in <fullpath/to/existing-directory> on line 1 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35980&edit=1

« previous php.bugs (#95838) next »