2016-07-24 74 views
0

一直試圖找出爲什麼我的$temp文件不會被放置在$un目錄中。目錄結構被創建,但臨時文件不會移到那裏。要驗證正在創建臨時文件 - 如果我刪除mkdir()臨時文件被添加到uploadsfolder。如何不在子目錄中創建文件?臨時文件沒有被放置在子目錄

uploads/subfolder/

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

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

'mkdir'返回布爾值 –

回答

1

使用這樣,

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

由於功能mkdir返回布爾值,該行

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

進行評估,以

$temp = 'uploads/' . ('1' or '') . 'md5-filename'; 

因此,大家可以看到 - 你$temp路徑絕不會店你的$un子目錄ectory。

該解決方案可以是:

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

謝謝,完全是有道理的吧。謝謝。 – Jgunzblazin

+0

可能是我可能錯了,在$ un之後應該有'/'來分隔文件名和文件夾 – C2486

+0

除非它還沒有處於'$ un'的值。 –

相關問題