2014-09-05 37 views
-1

常数。我答应过,我的代码只有那几行。PHP写文件写到两次

请求只是http://localhost:8080/helloworld.php?name=coolname

但如果我只是只能用这个...

fwrite($myfile, $_GET["name"]); 

所有工作正常,但我希望有一个结尾行。

有人可以解释我为什么会发生?

使用PHP AppEngine SDK的Im。 (自从我上次PHP经验9岁)

解决方案:

的问题是,当我打开一个浏览器,它被处理两次做一些奇怪的这个网址,我不知道为什么,但我应用程序只需要从一个自定义应用程序调用,所以,从我的应用程序,这个代码只执行一次。不是一个真正的解决方案,该错误仍然存​​在,但它不会影响我的工作流程。

+0

什么是你的文件的初始内容,'$ _GET ['name']'的内容和它的“一切正常”时的输出? – Sugar 2014-09-05 08:17:54

+0

http:// localhost:8080/helloworld.php?name = coolname 而输出只是'coolname'时不要写其他东西。 (没有空格或者结尾或者简单的字符或者其他什么) – CaptainTeemo 2014-09-05 08:34:45

+0

如果你尝试:'fwrite($ myfile,$ text。“abc \ n”);'? – Sugar 2014-09-05 08:41:42

回答

0

您正在使用写入abc的fwrite($myfile, "abc\n");。是你$ _GET还包含abc 否则它写入罚款。

<?php 

    $myfile = fopen("YourFile.txt", "at") or die ("Unable to open file!"); 
    $text = 'hello guys'; 
    $text .="\n"; 
    echo $text; 

    fwrite($myfile, $text); 
    fwrite($myfile, "abc\n"); 
    fclose($myfile); 
?> 
+0

不,我的$ _GET不包含“abc \ n”字符串,这就是为什么我失去了。 请求是这样的 http:// localhost:8080/helloworld.php?name = coolname – CaptainTeemo 2014-09-05 08:30:23

+0

fwrite($ myfile,$ text);关闭文件,然后再次打开,然后使用fwrite($ myfile,“abc \ n”);走着瞧吧。 – 2014-09-05 08:45:59

+0

wreider的东西(与Cleément的建议完全一样):'coolname \ nabc \ n \ nabc \ n'中间有两个“\ n” – CaptainTeemo 2014-09-05 08:48:41