fopen r +和r有什么区别!如果我不打算写时使用r +,这有关系吗?

Nau*_*der 0 php

当我使用fopen函数时,为什么我不总是使用r +,即使我不打算写任何东西......是否有理由将写/读过程与只读...

比如,当我使用r +时,文件被锁定以便读取,因为我可能会将新数据写入其中...

另一个问题:在php手册中

a +:开放阅读和写作; 将文件指针放在文件的末尾.如果该文件不存在,请尝试创建它.

如果你在文件的末尾应该读什么..(指针在最后)!!?

在哪里可以了解有关文件系统的更多信息....这令人困惑

小智 5

r vs r +:r +实际上会打开文件进行读写,但会在开头放置poitner.不会截断/删除文件(与w/w +不同),因此您可以读取和覆盖文件数据

w vs w +:w和w +将创建/删除文件,w +也允许你阅读(所以如果你写,你可以使用fseek重新阅读你写的内容).注意文件将在两种情况下被删除,原始内容将丢失.使用w +,您可以使用fseek返回并覆盖文件中的数据(而不是重新创建文件以进行微小更改)

a vs a +:a将打开写入,+ +也允许读取.该文件不会被截断,您可以使用fseek向后/向后移动.指针将放在最后.a +就像r +但是指针在最后 - 如果你需要先写入/追加然后更正,则保存一个fseek命令

x vs x +:这就像w/w +但如果文件存在则会失败(即永远不会截断/删除文件)