Метод copy
Метод copy класса Filesystem копирует файл
из исходного пути в целевой. Первым параметром
передаётся путь к исходному файлу, вторым - путь,
куда файл нужно скопировать. Третий необязательный
параметр overwrite определяет, перезаписывать
ли существующий файл. Метод не копирует директории,
для этого используйте mirror.
Синтаксис
public function copy(string $originFile, string $targetFile, bool $overwriteNewerFiles = false): void
Пример
Давайте скопируем файл 'article.txt' в 'copy.txt':
<?php
namespace AppService;
use SymfonyComponentFilesystemFilesystem;
class FileService
{
public function copyFile(): void
{
$fs = new Filesystem();
$fs->copy('article.txt', 'copy.txt');
echo 'done';
}
}
Результат выполнения кода:
"done"
Пример
Давайте проверим, что файл действительно скопирован:
<?php
namespace AppService;
use SymfonyComponentFilesystemFilesystem;
class FileService
{
public function copyFile(): void
{
$fs = new Filesystem();
$fs->copy('article.txt', 'copy.txt');
if ($fs->exists('copy.txt')) {
echo 'file exists';
}
}
}
Результат выполнения кода:
"file exists"
Пример
Давайте скопируем файл с перезаписью целевого файла:
<?php
namespace AppService;
use SymfonyComponentFilesystemFilesystem;
class FileService
{
public function copyFile(): void
{
$fs = new Filesystem();
$fs->copy('article.txt', 'copy.txt', true);
echo $fs->readFile('copy.txt');
}
}
Результат выполнения кода:
"abcde"
Смотрите также
-
класс
Filesystem,
который предоставляет методы для работы с файлами -
метод
rename,
который переименовывает файл или директорию -
метод
remove,
который удаляет файл или директорию -
метод
mirror,
который копирует директорию целиком