Maison > développement back-end > tutoriel php > 请问SplFileObject不能读写同时进行嘛?

请问SplFileObject不能读写同时进行嘛?

WBOY
Libérer: 2016-06-06 20:49:49
original
1156 Les gens l'ont consulté

代码如下:

<code>$file = new \SplFileObject($path->get(), 'w');
$file->fwrite('UUUaaaaOA323423482739S');
$file->rewind();
echo $file->fgets();
exit;
</code>
Copier après la connexion
Copier après la connexion

结果如下:

  1. 数据已成功写入指定文件
  2. 但是echo fgets()却是空的字符串

修改代码,去掉初始方法中的参数'w',如下:

<code>$file = new \SplFileObject($path->get());
$file->fwrite('----------UUUaaaaOA323423482739S');
$file->rewind();
echo $file->fgets();
exit;
</code>
Copier après la connexion
Copier après la connexion

结果如下:

  1. 数据写入失败
  2. 但是echo fgets()可以获取之前写入的数据

请问SplFileObject不能读写同时进行嘛?

回复内容:

代码如下:

<code>$file = new \SplFileObject($path->get(), 'w');
$file->fwrite('UUUaaaaOA323423482739S');
$file->rewind();
echo $file->fgets();
exit;
</code>
Copier après la connexion
Copier après la connexion

结果如下:

  1. 数据已成功写入指定文件
  2. 但是echo fgets()却是空的字符串

修改代码,去掉初始方法中的参数'w',如下:

<code>$file = new \SplFileObject($path->get());
$file->fwrite('----------UUUaaaaOA323423482739S');
$file->rewind();
echo $file->fgets();
exit;
</code>
Copier après la connexion
Copier après la connexion

结果如下:

  1. 数据写入失败
  2. 但是echo fgets()可以获取之前写入的数据

请问SplFileObject不能读写同时进行嘛?

我懂了,这个和文件打开模式有关系,

  • 打开模式为w,那么就是只写,不读
  • 打开模式为r,那么就是只读,不写
  • 打开模式为w+,那么指针就是在文件开头处读写
  • 打开模式为a+,那么指针就是在文件末尾处读写
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal