Host House Postado Março 22, 2008 Denunciar Share Postado Março 22, 2008 Estou precisando de uma ajudinha ai de voces :DPreciso fazer com que um script que eu tenho faça a copia dos arquivos que estao dentro de uma pasta pra dentro de outra pasta... ou então tirar a copia da pasta original.Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 23, 2008 Denunciar Share Postado Março 23, 2008 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Host House Postado Março 23, 2008 Autor Denunciar Share Postado Março 23, 2008 ta mais..tem pasta também...se tiver como fazer isso usando a função exec também da.. porque ta liberada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 23, 2008 Denunciar Share Postado Março 23, 2008 Não existe uma função nativa pra isso... o problema mesmo é copiar as pastas (e seus conteúdos) que estiverem dentro da pasta a ser copiada, com PHP o algoritmo pra isso fica bem impraticável. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Host House Postado Março 23, 2008 Autor Denunciar Share Postado Março 23, 2008 Então tenho que desistir? o.O Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Host House Postado Março 23, 2008 Autor Denunciar Share Postado Março 23, 2008 é 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:<?phpinclude("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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Host House Postado Março 23, 2008 Autor Denunciar Share Postado Março 23, 2008 Me surgiu mais uma duvida...Dentro de um config.php tem uma string chamada: $executareencerrar = "teste";eu queria que um script automaticamente mudasse o que esta escrito como teste... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 23, 2008 Denunciar Share Postado Março 23, 2008 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Host House Postado Março 23, 2008 Autor Denunciar Share Postado Março 23, 2008 como voce deve ter visto.. sou muito leigo em php.. da pra postar aki o script? :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Host House
Estou precisando de uma ajudinha ai de voces :D
Preciso fazer com que um script que eu tenho faça a copia dos arquivos que estao dentro de uma pasta pra dentro de outra pasta...
ou então tirar a copia da pasta original.
Obrigado
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
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.