我看过几个与此相关的优秀问题/答案(例如this和this),但似乎没有一个适用。后一个链接表示 r 和 rw 相同(至少 rw+),并且 fopen 忽略 w。 这就是我正在做的事情:
$curl_log = fopen(__DIR__ . "/curl.txt", 'rw'); // open file for read and write
// Do various curly tings here...
rewind($curl_log);
$output= fread($curl_log, 2048);
echo "<pre>". print_r($output, 1). "</pre>";
fclose($curl_log);
但我收到错误:
[2024 年 4 月 15 日星期一 17:07:05.410468] [php7:警告] [pid 2485068] [客户端 x.x.x.x:56086] PHP 警告: fopen(/var/www/example.com/example/curl.txt):无法打开流: /var/www/example.com/example/pn.php 中没有这样的文件或目录 第 147 行,参考:https://example.com/...
那么我怎样才能让它读写呢?
其实
rw
不是有效模式,看看man fopen
怎么说:
参数模式指向以以下序列之一开头的字符串(可能后跟其他字符,如下所述):
要打开文件进行读写,您需要根据需要使用带有
+
符号 (
r+ w+ a+ x+ c+
) 的任何模式。