根据用户IP地址创建目录

时间:2015-06-21 14:40:04

标签: php

我正在尝试根据用户的IP地址创建一个目录,我想要的结果就是剥离了“。”的IP地址。示例:uploads / 524362598745 我的代码只创建“uploads / $ ip”

$ip = $_SERVER["REMOTE_ADDR"];

if (!file_exists('uploads/$ip')) {
    mkdir('uploads/$ip', 0777, true);
}

2 个答案:

答案 0 :(得分:1)

'函数中将单引号(")更改为双引号(mkdir())。

  

double-quotedheredoc语法,变量和转义不同   特殊字符的序列在发生时不会被扩展   在single quoted字符串中。

答案 1 :(得分:1)

PHP不会用单引号(')解析变量,只能用双引号(")来解析。您的mkdir声明必须是:

mkdir("uploads/$ip", 0777, true);

或者,如果您愿意,请使用连接:

mkdir('uploads/' . $ip, 0777, true);

要删除句点,您只需要这样的内容:

$ip = str_replace('.', '', $ip);

请注意,此不会导致唯一的目录名称。例如,地址12.34.56.78123.45.6.78将导致相同的目录名称,许多其他示例也会如此。

此外,请注意您正在做的事情有很多严重的安全隐患。如果不了解您的需求,很难说最好的方法是什么,但这可能不是它。