Как скопировать хранилище файлов в новую папку с помощью PHP - PullRequest
0 голосов
/ 11 марта 2010

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

copy (file, dest) не работает. переименование (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');

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

Ответы [ 2 ]

1 голос
/ 12 марта 2010

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

при использовании copy () в php, вам также необходимо указать имя файла.

copy(orginalfile,destination_with_filename);

, например:

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

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

Правильно:

copy('/temp/sports/basketball.jpg','/images/sports/basketball.jpg')
0 голосов
/ 11 марта 2010

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

...