Ir para conteúdo
Fórum Script Brasil
  • 0

Copiar arquivos


Host House

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0

Se você quiser copiar utilizar a função copy, a idéia é a mesma do antigo copy do DOS... como você vai ter uma pasta inteira para copiar, então primeiro vai ter que ler o conteúdo dela, a um tempo atrás eu postei um script (procure no fórum) que mostrava um conteúdo de uma pasta, dá pra usar ele, óbvio que em vez de mostrar se usa ele para colocar o copy dentro do laço e copiar os arquivos. Só ressaltando que se dentro dessa pasta for ter outras pastas, e se conteúdo destas também tiver que ser copiado, ai a coisa complica...

Link para o comentário
Compartilhar em outros sites

  • 0

é consegui aqui com a ajuda de outro forum...

mais pra quem precisar ta ae:

pra copiar o conteudo de uma pasta pra outra é so fazer:

<?php

include("Funções.php");

dircopy("Nome da pasta a ser copiada","pasta pra onde vai os arquivos");

?>

//no Funções.php:

<?php

function dircopy($src_dir, $dst_dir, $verbose = false, $use_cached_dir_trees = false)

{

static $cached_src_dir;

static $src_tree;

static $dst_tree;

$num = 0;

if (($slash = substr($src_dir, -1)) == "\\" || $slash == "/") $src_dir = substr($src_dir, 0, strlen($src_dir) - 1);

if (($slash = substr($dst_dir, -1)) == "\\" || $slash == "/") $dst_dir = substr($dst_dir, 0, strlen($dst_dir) - 1);

if (!$use_cached_dir_trees || !isset($src_tree) || $cached_src_dir != $src_dir)

{

$src_tree = get_dir_tree($src_dir);

$cached_src_dir = $src_dir;

$src_changed = true;

}

if (!$use_cached_dir_trees || !isset($dst_tree) || $src_changed)

$dst_tree = get_dir_tree($dst_dir);

if (!is_dir($dst_dir)) mkdir($dst_dir, 0777, true);

foreach ($src_tree as $file => $src_mtime)

{

if (!isset($dst_tree[$file]) && $src_mtime === false) // dir

mkdir("$dst_dir/$file");

elseif (!isset($dst_tree[$file]) && $src_mtime || isset($dst_tree[$file]) && $src_mtime > $dst_tree[$file]) // file

{

if (copy("$src_dir/$file", "$dst_dir/$file"))

{

if($verbose) echo "Copied '$src_dir/$file' to '$dst_dir/$file'<br>\r\n";

touch("$dst_dir/$file", $src_mtime);

$num++;

} else

echo "<font color='red'>File '$src_dir/$file' could not be copied!</font><br>\r\n";

}

}

return $num;

}

/* Creates a directory / file tree of a given root directory

*

* @param $dir str Directory or file without ending slash

* @param $root bool Must be set to true on initial call to create new tree.

* @return Directory & file in an associative array with file modified time as value.

*/

function get_dir_tree($dir, $root = true)

{

static $tree;

static $base_dir_length;

if ($root)

{

$tree = array();

$base_dir_length = strlen($dir) + 1;

}

if (is_file($dir))

{

//if (substr($dir, -8) != "/CVS/Tag" && substr($dir, -9) != "/CVS/Root" && substr($dir, -12) != "/CVS/Entries")

$tree[substr($dir, $base_dir_length)] = filemtime($dir);

} elseif (is_dir($dir) && $di = dir($dir)) // add after is_dir condition to ignore CVS folders: && substr($dir, -4) != "/CVS"

{

if (!$root) $tree[substr($dir, $base_dir_length)] = false;

while (($file = $di->read()) !== false)

if ($file != "." && $file != "..")

get_dir_tree("$dir/$file", false);

$di->close();

}

if ($root)

return $tree;

}

?>

mesmo assim valeu eSerra...

Link para o comentário
Compartilhar em outros sites

  • 0

Abre o arquivo com fopen e altera o teste com str_replace (mas se só isso se chamar teste, se tiver mais alguma coisa com a palavra teste que deve continuar como teste ai terá que utilizar expressão regular...). Após alterar escreve tudo de novo no arquivo com fwrite.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...