Php 临时文件未放置在子目录中

Php 临时文件未放置在子目录中,php,Php,我一直在试图弄清楚为什么我的$temp文件不会放在$un目录中。目录结构已创建,但临时文件未移动到其中。验证是否正在创建临时文件-如果我删除mkdir(),临时文件将添加到uploads文件夹中。为什么没有在子目录中创建文件 上载/子文件夹/ $temp = 'uploads/'.mkdir('uploads/'.$un) . md5($_FILES['image']['name']); if (move_uploaded_file($_FILES['image']['tmp_name'],

我一直在试图弄清楚为什么我的
$temp
文件不会放在
$un
目录中。目录结构已创建,但临时文件未移动到其中。验证是否正在创建临时文件-如果我删除
mkdir()
,临时文件将添加到
uploads
文件夹中。为什么没有在子目录中创建文件

上载/子文件夹/

$temp = 'uploads/'.mkdir('uploads/'.$un) . md5($_FILES['image']['name']);

if (move_uploaded_file($_FILES['image']['tmp_name'], $temp)) {
// do something here..
}

当函数
mkdir
返回布尔值时,此行

$temp = 'uploads/'.mkdir('uploads/'.$un) . md5($_FILES['image']['name']);
被评估为

$temp = 'uploads/' . ('1' or '') . 'md5-filename';
如您所见,您的
$temp
路径永远不会存储
$un
子目录

解决方案可以是:

$temp = 'uploads/' . $un;
$res = mkdir($temp);
// check that folder created successfully
if ($res) {    
    $temp .= md5($_FILES['image']['name']);
    // upload your file
}

当函数
mkdir
返回布尔值时,此行

$temp = 'uploads/'.mkdir('uploads/'.$un) . md5($_FILES['image']['name']);
被评估为

$temp = 'uploads/' . ('1' or '') . 'md5-filename';
如您所见,您的
$temp
路径永远不会存储
$un
子目录

解决方案可以是:

$temp = 'uploads/' . $un;
$res = mkdir($temp);
// check that folder created successfully
if ($res) {    
    $temp .= md5($_FILES['image']['name']);
    // upload your file
}
像这样使用,

  mkdir('uploads/'.$un);
  $temp = "uploads/$un/" . md5($_FILES['image']['name']);
像这样使用,

  mkdir('uploads/'.$un);
  $temp = "uploads/$un/" . md5($_FILES['image']['name']);

mkdir
返回布尔值
mkdir
返回布尔值谢谢,现在完全有意义了。谢谢。也许我可能错了,在$un之后应该有
/
,以分离文件名和文件夹谢谢,现在完全有意义了。谢谢。可能是我错了,在$un之后应该有
/
来分隔文件名和文件夹