Comments (3)
Hey guess what, the stat
function documentation says exactly what I suspected: results are cached :) However, I played around with clearstatcache
, and it only solves some of the problems... (it does solve the above piece of code, at least).
The problem seems to be that vfsStreamFile::open()
also updates the last modified time, which means that simply calling file_get_contents
will mark the file modified... I wrote a patch and sent you a pull request (see issue 27).
from vfsstream.
Seems that I relied on a reference implementation which is either wrong or simply different from how it is done in PHP. As stated in http://www.aquaphoenix.com/ref/gnu_c_library/libc_166.html
When an existing file is opened, its attribute change time and modification time fields are updated
I changed this so opening a file for reading changes the attribute change time only and not the modification time any more.
from vfsstream.
Yeah the wording in that page is a bit weird... but I don't think opening a file for read would update its modtime or that would break every caching or dependency based system out there (and incidentally, that's exactly what I was unit-testing when I found the bug :) ).
from vfsstream.
Related Issues (20)
- Directory should not be allowed to move to itself
- `vfsStreamDirectory::getChild()` has absurd complexity HOT 2
- php 8.1: vfsStreamDirectory::getIterator() incompatible with IteratorAggreate
- php 8.1: vfsStreamContainerIterator incompatible with Iterator
- PHP 8.1 Support HOT 4
- Add a setCurrentUser()
- sebastian/resource-operations is abandoned
- Create CSV file in the custom path using VFS HOT 3
- ../ is not correctly recognized in VfsStream HOT 2
- PHP 8.2 Support - track issues here HOT 7
- Allow for custom directory separators HOT 2
- vfsStream::newDirectory() does not return result when called recursively [not a bug, closed] HOT 1
- touch() ignores permissions of existing objects HOT 1
- Best practices: using vfsStream methods vs native filesystem methods HOT 2
- mkdir(recursive: true) behaves wrong for existing directories
- General notes on usage
- Blocker: broken package in github HOT 1
- "vfsStream team" link in Wiki is broken
- file_put_contents fails when vfsStream::setup() was invoked twice. HOT 2
- PHP 8.4 Support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vfsstream.