Php上传文件名

Php上传文件名,php,Php,我有点困惑 $_FILES['userfile']['name'] 进入。在某些示例中,basename函数应用于该值,而在某些示例中没有。 是否需要使用basename?不应该 $FILES[name] 始终只包含上载的文件名?无需使用basename: 使用以下代码: $rand_name=rand(000000,999999); //apend random no. to image name $filen = "$rand_name".$_FILES["userfile"]['n

我有点困惑

$_FILES['userfile']['name']
进入。在某些示例中,
basename
函数应用于该值,而在某些示例中没有。 是否需要使用
basename
?不应该

$FILES[name]

始终只包含上载的文件名?

无需使用basename:

使用以下代码:

$rand_name=rand(000000,999999);   //apend random no. to image name
$filen = "$rand_name".$_FILES["userfile"]['name']; 
$image_path = 'upload/'.$filen;
if(move_uploaded_file($_FILES["userfile"]['tmp_name'],$image_path))
{
    $pic_name=$filen;
}

无需使用basename:

使用以下代码:

$rand_name=rand(000000,999999);   //apend random no. to image name
$filen = "$rand_name".$_FILES["userfile"]['name']; 
$image_path = 'upload/'.$filen;
if(move_uploaded_file($_FILES["userfile"]['tmp_name'],$image_path))
{
    $pic_name=$filen;
}

看看move_uploaded_file()函数,在['tmp_name']中,二进制上传文件被存储。。。实际上(在我的项目中),我不使用原始文件名作为文件名存储在服务器上。。。甚至我也在DBU中处理它看看move_uploaded_file()函数,在['tmp_name']中二进制上传文件被存储。。。实际上(在我的项目中),我不使用原始文件名作为文件名存储在服务器上。。。所以为什么有些示例使用basename?basename也返回文件名,所以有些示例也使用它。)那么为什么有些示例使用basename?basename也返回文件名,所以有些示例也使用它