文件大小 returns 每次 0 并且文件内容不显示,即使文件存在数据
file size returns every time 0 and file contents not displayed, even if file exists with data
大家晚上好!
我的文件系统有问题。当我尝试打开现有文件时,文件大小每次都是 0,而当我尝试读取数据(以不同方式)时,它只有 returns“”。我在网上没有找到任何解决方案,所以我在这里问一下。
这是我的代码:
function getOldDate($id) {
$file = fopen($id.".txt", "r+");
if ($file) {
$fileURL = $id.'.txt';
echo "fread:".fread($file,filesize($fileURL));
echo "ID:".$fileURL;
echo "file_get_contents:".file_get_contents($fileURL)." ;";
echo "Lines:".fgets($file)." ;";
print_r($id.":".file_get_contents($fileURL));
return date("d.m.Y, h:i", strtotime(file_get_contents($fileURL)));
}
fclose($file);
}
我用下面的代码写数据:
function saveNewDate($id, $newdate) {
$file = fopen($id.".txt", "w");
if ($file) {
fclose($file);
unlink($id.".txt");
}
$fileN = fopen($id.".txt", "w");
fwrite($fileN, $newdate);
fclose($fileN);
}
返回的网站如下所示:
Warning: fread(): Length parameter must be greater than 0 in /storage/ssd2/016/3537016/public_html/run.php on line 83
fread:ID:VPuem.txtfile_get_contents: ;Lines: ;VPuem:Savedate:01.01.1970, 01:00 ModDate:10.11.2017, 09:43
Warning: fread(): Length parameter must be greater than 0 in /storage/ssd2/016/3537016/public_html/run.php on line 83
fread:ID:K11_1.txtfile_get_contents: ;Lines: ;K11_1:Savedate:01.01.1970, 01:00 ModDate:20.10.2017, 05:05
Warning: fread(): Length parameter must be greater than 0 in /storage/ssd2/016/3537016/public_html/run.php on line 83
fread:ID:K12_1.txtfile_get_contents: ;Lines: ;K12_1:Savedate:01.01.1970, 01:00 ModDate:20.09.2017, 06:19
VPuem.txt 文件的内容:
20.10.2017, 05:05
其他文件内容相同,只是日期(数字)不同
哦,这些文件与 PHP 文件位于同一目录中。
希望有人能提供帮助。我现在坐了 4 个小时...
编辑:
我发现,在使用 saveNewDate() 方法编辑文件后,文件被读取了。现在的问题是:为什么?
您要找的似乎是 this answer。由于您的文件包含的数据非常少,因此很难获得准确的读数。链接问题的答案解释了一些解决方法。
我发现了问题。在代码的顶部有一个代码片段,其中包含今天早些时候(凌晨 4 点)的测试代码,我今天早上忘记删除它。现在代码完全可以正常工作了。
大家晚上好!
我的文件系统有问题。当我尝试打开现有文件时,文件大小每次都是 0,而当我尝试读取数据(以不同方式)时,它只有 returns“”。我在网上没有找到任何解决方案,所以我在这里问一下。
这是我的代码:
function getOldDate($id) {
$file = fopen($id.".txt", "r+");
if ($file) {
$fileURL = $id.'.txt';
echo "fread:".fread($file,filesize($fileURL));
echo "ID:".$fileURL;
echo "file_get_contents:".file_get_contents($fileURL)." ;";
echo "Lines:".fgets($file)." ;";
print_r($id.":".file_get_contents($fileURL));
return date("d.m.Y, h:i", strtotime(file_get_contents($fileURL)));
}
fclose($file);
}
我用下面的代码写数据:
function saveNewDate($id, $newdate) {
$file = fopen($id.".txt", "w");
if ($file) {
fclose($file);
unlink($id.".txt");
}
$fileN = fopen($id.".txt", "w");
fwrite($fileN, $newdate);
fclose($fileN);
}
返回的网站如下所示:
Warning: fread(): Length parameter must be greater than 0 in /storage/ssd2/016/3537016/public_html/run.php on line 83
fread:ID:VPuem.txtfile_get_contents: ;Lines: ;VPuem:Savedate:01.01.1970, 01:00 ModDate:10.11.2017, 09:43
Warning: fread(): Length parameter must be greater than 0 in /storage/ssd2/016/3537016/public_html/run.php on line 83
fread:ID:K11_1.txtfile_get_contents: ;Lines: ;K11_1:Savedate:01.01.1970, 01:00 ModDate:20.10.2017, 05:05
Warning: fread(): Length parameter must be greater than 0 in /storage/ssd2/016/3537016/public_html/run.php on line 83
fread:ID:K12_1.txtfile_get_contents: ;Lines: ;K12_1:Savedate:01.01.1970, 01:00 ModDate:20.09.2017, 06:19
VPuem.txt 文件的内容:
20.10.2017, 05:05
其他文件内容相同,只是日期(数字)不同
哦,这些文件与 PHP 文件位于同一目录中。
希望有人能提供帮助。我现在坐了 4 个小时...
编辑: 我发现,在使用 saveNewDate() 方法编辑文件后,文件被读取了。现在的问题是:为什么?
您要找的似乎是 this answer。由于您的文件包含的数据非常少,因此很难获得准确的读数。链接问题的答案解释了一些解决方法。
我发现了问题。在代码的顶部有一个代码片段,其中包含今天早些时候(凌晨 4 点)的测试代码,我今天早上忘记删除它。现在代码完全可以正常工作了。