我正在制作打开目录并在文件中写入内容的 php 脚本。问题出在目录中。目录名称不固定,每次都会更改名称“dir + some random number”。
有什么方法可以制作这样的东西我需要那个功能“任何东西”
<?php
$directory = "files/dir".anything()."/other..";
?>
我正在制作打开目录并在文件中写入内容的 php 脚本。问题出在目录中。目录名称不固定,每次都会更改名称“dir + some random number”。
有什么方法可以制作这样的东西我需要那个功能“任何东西”
<?php
$directory = "files/dir".anything()."/other..";
?>
当然...首先检查您想要的目录是否存在。如果不创建它。
<?php
// check if dir exists, if not create it
if(!is_dir("files/dir".anything()."/other.."))
mkdir("files/dir".anything()."/other..");
// ... rest of code here
$directory = "files/dir".anything()."/other..";
?>
函数anything 是dir + 一些随机数。只需使用php随机...
// this function returns a random number from 0 to 100000
function random()
{
echo rand(0, 100000);
}
除非我错过了什么,否则你不能做
function anything(this $str){}
在混淆之后,您似乎想要创建一个函数,该函数将创建一个唯一的文件名,然后将其应用于目录路径,使用 rand() 不会获得唯一的 id,因为rand()有时不是那么 rand,加上每个当你制作一个新文件时,它会降低一个新的随机文件的机会。使用uniqid()和 md5 它将从 uniqid/microtime 创建一个 128 位 alpha 数字散列,返回相同散列的几率非常小,甚至没有:
所以你应该做类似的事情:
<?php
/**
* Function to create 128bit unique hash string.
*
* @return string
*/
function anything(){
return md5(uniqid(rand(), true));
}
/*
You should store value in a variable if you need to use it further along
or in the future.
*/
$uniq_token = anything();
$directory = "files/".$uniq_token."/other..";
?>
您需要存储$uniq_token
在数据库中的某个位置,否则在尝试检索 ect 时您将失去对该文件/文件夹的引用。
我在这里错过了什么吗?
编写一个anything
返回任何你想要的函数的函数。这是非常基本的 PHP 编码。