PHP。如果使用 "a+" 写入没有问题,但使用 "r" 无法读取,如何读取文件?
PHP. How to read a file, if it is writing without a problem with "a+", but is not readable with "r"?
我有两个脚本:其中一个将变量的值写入文件。在另一个脚本中,我尝试阅读它。它写得没有问题,但不可读。
这里我写入一个文件:
$peer_id=2000000001;
$fileLocation = getenv("DOCUMENT_ROOT") . "/peer_id.txt";
$file = fopen($fileLocation,"a+");
fwrite($file, $peer_id);
fclose($file);
这里是我读的文件:
$fileLocation = getenv("DOCUMENT_ROOT") . "/peer_id.txt";
$file = fopen($fileLocation,"r");
if(file_exists($fileLocation)){
// Result is TRUE
}
if(is_readable ($file)){
// Result is FALSE
}
// an empty variables, because the file is not readable
$peer_id = fread($file);
$peer_id = fileread($file);
$peer_id = file_get_contents($file);
fclose($file);
代码在“sprinthost”主机上运行,如果有区别的话。有人怀疑这是因为那个托管。
file_get_contents
在短期内 fopen
、fread
和 fclose
。你不使用它的指针。你应该只使用:
$peer_id = file_get_contents($fileLocation);
is_readable
也一样:
if(is_readable($fileLocation)){
// Result is FALSE
}
所以完整的代码应该是这样的:
$fileLocation = getenv("DOCUMENT_ROOT") . "/peer_id.txt";
if(file_exists($fileLocation) && is_readable($fileLocation)) {
$peer_id = file_get_contents($fileLocation);
} else {
echo 'Error message about file being inaccessible here';
}
file_get_contents
有反写功能; https://www.php.net/manual/en/function.file-put-contents.php。将其与 append
常量一起使用,您应该具有与第一个代码块相同的功能:
file_put_contents($fileLocation, $peer_id, FILE_APPEND | LOCK_EX);
我有两个脚本:其中一个将变量的值写入文件。在另一个脚本中,我尝试阅读它。它写得没有问题,但不可读。 这里我写入一个文件:
$peer_id=2000000001;
$fileLocation = getenv("DOCUMENT_ROOT") . "/peer_id.txt";
$file = fopen($fileLocation,"a+");
fwrite($file, $peer_id);
fclose($file);
这里是我读的文件:
$fileLocation = getenv("DOCUMENT_ROOT") . "/peer_id.txt";
$file = fopen($fileLocation,"r");
if(file_exists($fileLocation)){
// Result is TRUE
}
if(is_readable ($file)){
// Result is FALSE
}
// an empty variables, because the file is not readable
$peer_id = fread($file);
$peer_id = fileread($file);
$peer_id = file_get_contents($file);
fclose($file);
代码在“sprinthost”主机上运行,如果有区别的话。有人怀疑这是因为那个托管。
file_get_contents
在短期内 fopen
、fread
和 fclose
。你不使用它的指针。你应该只使用:
$peer_id = file_get_contents($fileLocation);
is_readable
也一样:
if(is_readable($fileLocation)){
// Result is FALSE
}
所以完整的代码应该是这样的:
$fileLocation = getenv("DOCUMENT_ROOT") . "/peer_id.txt";
if(file_exists($fileLocation) && is_readable($fileLocation)) {
$peer_id = file_get_contents($fileLocation);
} else {
echo 'Error message about file being inaccessible here';
}
file_get_contents
有反写功能; https://www.php.net/manual/en/function.file-put-contents.php。将其与 append
常量一起使用,您应该具有与第一个代码块相同的功能:
file_put_contents($fileLocation, $peer_id, FILE_APPEND | LOCK_EX);