On Thu, Mar 15, 2012 at 4:59 PM, Larry <lrrrgg@xxxxxxxxx> wrote: > On Thu, Mar 15, 2012 at 11:53 AM, Daniel P. Brown > <daniel.brown@xxxxxxxxxxxx> wrote: >> On Thu, Mar 15, 2012 at 11:30, Larry <lrrrgg@xxxxxxxxx> wrote: >>> Hello, when I pass a variable whose value originally came from $_GET >>> or $_REQUEST to fwrite, fwrite behaves as if it was passed an empty >>> string. Note that the file is successfully opened and written to by >>> the script, but the variable that originally came from $_GET does not >>> have its value interpolated in the text file, even though it does get >>> interpolated in the echo(). >>> >>> ---- Code ---- >>> <? >>> $meh = $_GET["q"]; >>> $writeline = ":" . $meh . ":" . strlen($meh) . PHP_EOL; >>> echo ( $writeline ); >>> >>> $fp = fopen("/tmp/wtf.log","w+"); >>> fwrite($fp, $writeline ); >>> fclose($fp); >>> >>> var_dump($writeline); >>> ?> >> >> Are you sure it's not a permissions-based issue, perhaps when >> writing as the normal user, then the user as which the web server >> runs, et cetera? What happens if you completely remove /tmp/wtf.log >> and re-run your script with the appended query string? > > I have removed the wtf.log file between runs, just did it once more. > Same thing happens. A new file is created, and the contents are "::0" > > So I'm sure its not a permissions issue ( However I'm also sure that > this shouldn't be happening so... ) Thanks. The code is working fine here, of course, it should. Is it really because of the $_GET?, have you tried setting $q = "meh123";? Also, try using file_put_contents('/tmp/wtf.log', $writeline); instead. - Matijn -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php