有没有办法动态更改文件名?

时间:2011-12-24 21:47:59

标签: php

我有一个网站,只有大约五个人可以登录它。当用户登录时,我希望其中一个受访问保护的页面文件名更改,并且每次登录时都有一个随机文件名。我希望这样,当用户登录时,他们无法在URL中键入页面并直接跳过他们必须经过的页面来到达那里。

PHP可以实现吗?任何关于如何实现这一点的指导都会很棒。感谢。

2 个答案:

答案 0 :(得分:0)

检查php手册中的名为'重命名' (名称告诉所有内容):http://php.net/manual/en/function.rename.php

可以通过调用md5(time())来实现随机名称。

答案 1 :(得分:0)

是的,你可以重命名文件。 来自http://php.net/manual/en/function.rename.php

rename ( string $oldname , string $newname [, resource $context ] )

http://php.net/manual/en/ref.strings.php

function random_string($l = 10){
$c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxwz0123456789";
for(;$l > 0;$l--) $s .= $c{rand(0,strlen($c))};
return str_shuffle($s);

}

将这两者结合起来获取随机文件名。 (要么将某个旧名称存储在某个地方,要么只在每次要更改它时检查它)

 function random_string($l = 10){
    $c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxwz0123456789";
    for(;$l > 0;$l--) $s .= $c{rand(0,strlen($c))};
    return str_shuffle($s); }

      $newName=random_string(); // you can enter the length of file you want
    rename ('index.php', $newName.'.php');