2016-07-09 4 views
0

Вот мой код, что я пытаюсь сделать, это взять файл post.php или $file из корня каталога, из которого он был первоначально, а затем поместить его в этот каталог uniqueID или он должен, наконец, прибыть в переменную $newFolder5 для завершения. $root в функции копирования - это путь, указывающий на файл внутри текущего каталога, тогда он должен пойти в каталог $newFolder5, когда функция копирования выполняется при загрузке страницы. Может ли $root или источником копии быть строка с каталогом в файл?Функция копирования php из одной папки в другую

<?php 
$unique = uniqid(); 
$root = '/gallry/' . $dir_auth1 . '/'. 'post.php'; 
$folder = mkdir($unique, 0755); 
$uniqueFolder = '/' . $unique . '/' . 'post.php'; 
$destination2 = $dir_auth1 . '/' . $unique . '/' . 'post.php'; 
$newFolder = '/' . $dir_auth1 . $uniqueFolder; 

if (!copy($root, $newFolder)) { 
    echo " status not created."; 

} else { 
    echo "Success!"; 


} 
?> 

Я изменил $dir_auth1 к 'aidan', так что это корневой каталог, что post.php в.

Короче говоря, что им пытаются сделать, это создать папку/директорию с uniqid() и положить post.php внутри из этого. Или скопируйте его.

+0

Почему вы используете '$ folder' в присваивании' $ folder5'? '$ folder' - это просто« TRUE »или« FALSE »в зависимости от того, удалось ли выполнить« mkdir », это не имя чего-либо. – Barmar

+0

Вы назначаете множество переменных, которые вы никогда не используете, делая код очень запутанным. Можете ли вы избавиться от всех ненужных вещей, чтобы мы могли видеть, что вы на самом деле делаете? – Barmar

+0

Второй аргумент 'copy()' должен быть именем файла в целевом каталоге, а не только именем каталога. – Barmar

ответ

1

Вы не создаете тот же каталог, в который собираетесь копировать.

$unique = uniqid(); 
$root = "/gallry/$dir_auth1/post.php"; 
$uniqueFolder = "/$dir_auth1/$unique"; 
$destFile = "$uniqueFolder/post.php"; 
if (mkdir($uniqueFolder)) { 
    if (copy($root, $destFile)) { 
     echo "Success!"; 
    } else { 
     echo " status not created"; 
    } 
} else { 
    echo "Unable to create folder $uniqueFolder"; 
} 
+0

$ уникальный не используется ... – aidangig

+0

Это в задании '$ uniqueFolder'. – Barmar

+0

Я удалил добавленные строки, заменив их соответственно переменными. , пожалуйста, взгляните, и вы не определили $ unique правильно, но я исправил его. '$ unique = uniqid(); $ root = "/gallry/".$dir_auth1."/post.php"; $ uniqueFolder = "/".$dir_auth1."/".$unique; $ destFile = $ uniqueFolder. "/ Post.php"; if (mkdir ($ uniqueFolder)) { if (copy ($ root, $ destFile)) { echo "Success!"; } else { echo "status not created"; } } else { echo "Невозможно создать папку $ uniqueFolder"; } ' – aidangig

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