Noktalar değişken adlarını geçerli değil çünkü PHP içine one.txt
adresinin değişken adını dönüştürmektedir nedeni one_txt
olduğunu.
Daha fazla ayrıntı için, PHP Documentation bakalım:
Variable names follow the same rules
as other labels in PHP. A valid
variable name starts with a letter or
underscore, followed by any number of
letters, numbers, or underscores. As a
regular expression, it would be
expressed thus:
'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
Sen (_
için .
) değişim için hesap Ya ve $_REQUEST['one_txt']
kontrol ya da HTML formu yerine geçerli bir değişken ismi geçmektedir yapabilirsiniz.
Edit:
Michael Borgwardt yorumuyla ilgili takip etmek, buradan metin var PHP's documentation about handling variables from external sources:
Gelen değişken isimleri içindeki noktalar
Typically, PHP does not alter the
names of variables when they are
passed into a script. However, it
should be noted that the dot (period,
full stop) is not a valid character in
a PHP variable name. For the reason,
look at it:
<?php
$varname.ext; /* invalid variable name */
?>
Now, what the parser sees is a
variable named $varname, followed by
the string concatenation operator,
followed by the barestring (i.e.
unquoted string which doesn't match
any known key or reserved words)
'ext'. Obviously, this doesn't have
the intended result.
For this reason, it is important to
note that PHP will automatically
replace any dots in incoming variable
names with underscores.
Bu gerçekten PHP özel bir şeydir.