Heim > Backend-Entwicklung > PHP-Tutorial > php中在文件倒数140个字节的地方插入一个字符串,文件指针却一直在文件末尾

php中在文件倒数140个字节的地方插入一个字符串,文件指针却一直在文件末尾

WBOY
Freigeben: 2016-06-06 20:34:45
Original
1241 Leute haben es durchsucht

<code><?php $string="haha";
$target='<input type="button" value="submit" id="submitform">';
$handle = fopen("D:/wamp/www/liuyanban.html","a");
 fseek($handle, -140,SEEK_END);
 fwrite($handle, "ok");
 fclose($handle);
?>
</code>
Nach dem Login kopieren
Nach dem Login kopieren

我想问,为什么我已经用fseek把文件指针改到倒数140个字节的地方,可是写入的时候,还是写在文件末尾的,如果这么做是错的,为什么?合理的思路是什么?

回复内容:

<code><?php $string="haha";
$target='<input type="button" value="submit" id="submitform">';
$handle = fopen("D:/wamp/www/liuyanban.html","a");
 fseek($handle, -140,SEEK_END);
 fwrite($handle, "ok");
 fclose($handle);
?>
</code>
Nach dem Login kopieren
Nach dem Login kopieren

我想问,为什么我已经用fseek把文件指针改到倒数140个字节的地方,可是写入的时候,还是写在文件末尾的,如果这么做是错的,为什么?合理的思路是什么?

文件的打开方式使用 r+.

http://php.net/manual/zh/function.fopen.php

<code>'r'     只读方式打开,将文件指针指向文件头。
'r+'    读写方式打开,将文件指针指向文件头。
'w'     写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'w+'    读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'a'     写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'a+'    读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
</code>
Nach dem Login kopieren

关于 fseek 的一些情况.
http://php.net/manual/zh/function.fseek.php

<code>Note:
如果使用附加模试(a 或 a+),任何写入文件数据都会被附加上去,而文件的位置将会被忽略,调用 fseek() 的结果尚未定义。
</code>
Nach dem Login kopieren

php中在文件倒数140个字节的地方插入一个字符串,文件指针却一直在文件末尾

产生的效果是在指定的位置上写入指定的字符, 没有达到插入的效果.
要达到插入的效果,你需要先跳到指定位置,获取它后面的所有内容, 然后再写入你要写入的内容,然后再写入原来的内容.

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage