【发布时间】:2018-09-10 22:38:19
【问题描述】:
好吧,我有一个问题。在我本地的 LAMP(14.04 LTS 32 位)上,一切都很神奇。远程服务器也是 Ubuntu 14.04(64 位)。 在生产中,我的程序成功重写了文件:
$myfileresult = fopen('taranko.csv','w+');
echo fwrite($myfileresult,"");
fclose($myfileresult);
但之后我的脚本未能附加任何信息。
$myfileresult = fopen('download.csv','a');
fwrite($myfileresult, $ids.";".$imageLinkAlt.";".$itemNameAlt.";".$features.";".$mods[$x].";".$prices[$x].";".$stockQty[$x].PHP_EOL);
fclose($myfileresult);
我有
ini_set('display_errors', 1);
error_reporting(E_ALL);
在我的脚本中,但 PHP 回显中确实没有错误或警告。 我试图附加这个字符串: “1701-1;http://taranko-shop.ru/..” 所以,我使用了 strace,这是我发现的:
open("/home/ci65797/web/mydomain.com/public_html/download.csv", O_WRONLY|O_CREAT|O_APPEND, 0666) = 24
2056 fstat(24, {st_mode=S_IFREG|0644, st_size=160740, ...}) = 0
2056 lseek(24, 0, SEEK_CUR) = 0
2056 lseek(24, 0, SEEK_CUR) = 0
2056 write(24, "1701-1;http://taranko-shop.ru/wa"..., 377) = 377
2056 close(24)
因此,最新字符串旁边包含我尝试附加的字符串。 我的所有目录都是755,文件是644。 我应该怎么做才能解决这个问题?
【问题讨论】:
-
您正在附加空字符串。
-
不完全。我试图附加这个:1701-1;taranko-shop.ru/wa 写,第二个参数包含我试图附加的字符串。 @u_mulder
-
@Areso,然后在你的问题中告诉我们!如果您在此处询问时更改代码,我们应该如何知道您的代码实际做了什么?
-
“我问的是没有写下来的部分”——这正是问题所在。我们无法为您提供我们看不到的代码。 strace 不算。感谢您编辑您的问题。
-
为什么
fopen()的两次调用中的文件名不同?我怀疑这是你的问题:你的数据正在被写入,而不是你期望的文件。