2010-03-11 2 views
0

У меня есть папка с именем «репозиторий» в папках администратора. В этой папке хранятся 2 файла: index.html и content.php. Когда пользователь создает новую страницу, php создает новую папку, указанную пользователем, тогда вам нужно будет скопировать два файла в эту папку, оставив их в репозитории.Как скопировать репозиторий файлов в новую папку с помощью PHP

копия (файл, dest) не работает. rename (file, dest) перемещает файлы в новую папку, но я теряю их в репозитории.

Как скопировать файлы в одну папку в новую папку, не потеряв файлы в исходной папке?

$dest = '../'.$menuLocation.'/'.$pageName; 
$file1= "repository/index.html"; 
$file2= "repository/content.php"; 
mkdir($dest,0777); 
rename($file1,$dest.'/index.html'); 
rename($file2,$dest.'/content.php'); 

$ menuСообщение и $ pageName предоставляются пользователем. Файлы есть, file_exists возвращает true. Кроме того, каталог создается без проблем. rename() также работает, я просто теряю файлы в репозитории.

+1

копия должна работать. Отправьте свой код. – Josh

+0

$ dest = '../'.$menuLocation.'/'.$pageName; $ file1 = "repository/index.html"; $ file2 = "репозиторий/контент.php"; mkdir ($ dest, 0777); rename ($ file1, $ dest. '/ Index.html'); rename ($ file2, $ dest. '/ Content.php'); $ menuLocation и $ pageName предоставляются пользователем. Я там файлы, file_exists возвращает true. – dcp3450

+0

Спасибо за редактирование gordon. Я не заметил этого до тех пор, пока не добавил комментарий. Занятый сегодня, мозг отвлекается. – dcp3450

ответ

1

Для тех, кто охотится за решение этой проблемы:

при использовании копии() в PHP вы также должны включать в себя имя файла.

copy(orginalfile,destination_with_filename); 

, например:

неправильно:

copy('/temp/sports/basketball.jpg','/images/sports/') 

Правильно:

copy('/temp/sports/basketball.jpg','/images/sports/basketball.jpg') 
0

Использовать копию(). Убедитесь, что вы берете возвращаемое значение, чтобы ваша программа знала, работает ли она или нет. Также проверьте разрешение файлов и каталога, чтобы подтвердить, что пользователь, выполняющий PHP-скрипт, может создать новый файл в указанном вами месте. Возможно, вам понадобится использовать is_writable() в каталоге, чтобы подтвердить эти предположения.