Copiar diretórios inteiros com PHP
Nesse artigo criaremos uma função em PHP que copia diretórios inteiros, e se o diretório não existir, é criado.
Nesse artigo criaremos uma função em PHP que copia diretórios inteiros, e se o diretório não existir, é criado.
Função "copiar_diretorio" com 3 parametros:
$diretorio:Nome do diretório.
$destino:Nome do diretório destino.
$ver_acao:Exibe cada ação da execução.
<?php
function copiar_diretorio($diretorio, $destino, $ver_acao = false){
if ($destino{strlen($destino) - 1} == '/'){
$destino = substr($destino, 0, -1);
}
if (!is_dir($destino)){
if ($ver_acao){
echo "Criando diretorio {$destino}\n";
}
mkdir($destino, 0755);
}
$folder = opendir($diretorio);
while ($item = readdir($folder)){
if ($item == '.' || $item == '..'){
continue;
}
if (is_dir("{$diretorio}/{$item}")){
copy_dir("{$diretorio}/{$item}", "{$destino}/{$item}", $ver_acao);
}else{
if ($ver_acao){
echo "Copiando {$item} para {$destino}"."\n";
}
copy("{$diretorio}/{$item}", "{$destino}/{$item}");
}
}
}
?>
Exemplos de Uso:
1 - Crie um diretório chamado "diretorio1" e dentro dele coloque alguns arquivos (foto, textos, etc).
Como exemplo eu coloquei os seguintes arquivos: "imagem.jpg", "documento word.docx" e "documento excel.xlsx".
Com o código a seguir vamos duplicar esta pasta e a nova pasta ficara com o nome "diretorio2":
<?php
copiar_diretorio('./diretorio1', './diretorio2/'); // copia o diretório inteiro
?>
2 - Agora copiaremos o conteudo da pasta "diretorio1" para o diretório de execução:
<?php
copiar_diretorio('./diretorio1', './'); // copia os arquivos do diretório para o diretório de execução
?>
3 - O terceiro parâmetro ($ver_acao) exibe cada ação da execução e podemos ver em funcionamente passando como "true":
<?php
copiar_diretorio('./diretorio1', './diretorio2/', true);
// Exibe as seguintes mensagens:
// Criando diretorio ./diretorio2
// Copiando documento excel.xlsx para ./diretorio2
// Copiando documento word.docx para ./diretorio2
// Copiando imagem.jpg para ./diretorio2
?>
Função "copiar_diretorio" com 3 parametros:
$diretorio:Nome do diretório.
$destino:Nome do diretório destino.
$ver_acao:Exibe cada ação da execução.
<?php
function copiar_diretorio($diretorio, $destino, $ver_acao = false){
if ($destino{strlen($destino) - 1} == '/'){
$destino = substr($destino, 0, -1);
}
if (!is_dir($destino)){
if ($ver_acao){
echo "Criando diretorio {$destino}\n";
}
mkdir($destino, 0755);
}
$folder = opendir($diretorio);
while ($item = readdir($folder)){
if ($item == '.' || $item == '..'){
continue;
}
if (is_dir("{$diretorio}/{$item}")){
copy_dir("{$diretorio}/{$item}", "{$destino}/{$item}", $ver_acao);
}else{
if ($ver_acao){
echo "Copiando {$item} para {$destino}"."\n";
}
copy("{$diretorio}/{$item}", "{$destino}/{$item}");
}
}
}
?>
Exemplos de Uso:
1 - Crie um diretório chamado "diretorio1" e dentro dele coloque alguns arquivos (foto, textos, etc).
Como exemplo eu coloquei os seguintes arquivos: "imagem.jpg", "documento word.docx" e "documento excel.xlsx".
Com o código a seguir vamos duplicar esta pasta e a nova pasta ficara com o nome "diretorio2":
<?php
copiar_diretorio('./diretorio1', './diretorio2/'); // copia o diretório inteiro
?>
2 - Agora copiaremos o conteudo da pasta "diretorio1" para o diretório de execução:
<?php
copiar_diretorio('./diretorio1', './'); // copia os arquivos do diretório para o diretório de execução
?>
3 - O terceiro parâmetro ($ver_acao) exibe cada ação da execução e podemos ver em funcionamente passando como "true":
<?php
copiar_diretorio('./diretorio1', './diretorio2/', true);
// Exibe as seguintes mensagens:
// Criando diretorio ./diretorio2
// Copiando documento excel.xlsx para ./diretorio2
// Copiando documento word.docx para ./diretorio2
// Copiando imagem.jpg para ./diretorio2
?>

[Este post ainda não foi associado a uma sequência]
Você está em:
canal PHP
Publicidade

Estudo comparativo entre banco de dados IBM Informix e Microsoft SQL

0
0
Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!