2016-07-24 3 views
0

пытался выяснить, почему мой файл $temp не будет размещен в каталоге $un. Структура каталогов создается, но временный файл там не перемещается. Для подтверждения создания временного файла - если я удалю mkdir(), файл temp добавляется к uploadsfolder. Почему файл не создается в подкаталоге?temp-файл не помещается в подкаталог

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 subdir 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'. –

Смежные вопросы