2012-03-12 5 views
1

私は狂っていると思います。PHP変数はfwriteでのみ空です

コード:

<? 
$meh = $_GET["q"]; 
echo (":" . $meh . ":" . strlen($meh) . PHP_EOL); 
$fp = fopen("/tmp/wtf.log","w+"); 
fwrite($fp, ":" . $meh . ":" . strlen($meh) . PHP_EOL); 
fclose($fp); 
?> 

要求:

/search.php?q=meh123 

これは、応答(期待される)である:

:meh123:6 

これはファイルである:

[email protected]:/tmp# cat wtf.log 
::0 
+0

あなたはあなたがそれにアクセスした唯一の人ですか?ファイルに書いていることはまったくありますか? –

+0

ちょうど推測ですが、かっこを追加したり、文字列を変数に保存したりしてみてください。 '(": "。$ meh。": "。strlen($ meh)。PHP_EOL)'または '$ str =": "となります。 $ meh。 ":" strlen($ meh)。 PHP_EOL; fwrite($ fp、$ str); ' – nickb

+0

あなたは毎回書くかどうかを確認するためにa +モードを試しましたか? –

答えて

0

これを試してみてください:

<? 
$meh = $_GET["q"]; 
$writeline = ":{$meh}:{strlen($meh)}"; 
echo ($writeline); 
$fp = fopen("/tmp/wtf.log","w+"); 
fwrite($fp, $writeline); 
fclose($fp); 
?> 

をまた、ジェイは、上記のコメントで言ったように:

場合(ISSET($ _ GET [ 'Q'])){//コード}の周りに入れてみてください、あなたのコード(とにかくやるべきこと)

+0

私はそれを実証するのに必要な最小限のコードに振る舞いを絞ろうとしました。 $ _GET ['q']が設定されています。出力にエコーされたときに明白です。 –

+0

この方法で試してみましたか? (isset部分ではなく、他の部分) – ramblinjan

+0

まあ、今、同じこと!あなたがそれをもっともっと...邪魔するようにしていますが、そうですか?文字列(10) ":meh123:6" –

関連する問題