我正在尝试根据用户的IP地址创建一个目录,我想要的结果就是剥离了“。”的IP地址。示例:uploads / 524362598745 我的代码只创建“uploads / $ ip”
$ip = $_SERVER["REMOTE_ADDR"];
if (!file_exists('uploads/$ip')) {
mkdir('uploads/$ip', 0777, true);
}
答案 0 :(得分:1)
在'
函数中将单引号("
)更改为双引号(mkdir()
)。
与double-quoted和heredoc语法,变量和转义不同 特殊字符的序列在发生时不会被扩展 在single quoted字符串中。
答案 1 :(得分:1)
PHP不会用单引号('
)解析变量,只能用双引号("
)来解析。您的mkdir
声明必须是:
mkdir("uploads/$ip", 0777, true);
或者,如果您愿意,请使用连接:
mkdir('uploads/' . $ip, 0777, true);
要删除句点,您只需要这样的内容:
$ip = str_replace('.', '', $ip);
请注意,此不会导致唯一的目录名称。例如,地址12.34.56.78
和123.45.6.78
将导致相同的目录名称,许多其他示例也会如此。
此外,请注意您正在做的事情有很多严重的安全隐患。如果不了解您的需求,很难说最好的方法是什么,但这可能不是它。