Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Denio35

Copiar um arquivo de uma pasta no servidor

Recommended Posts

Opa,

Desculpem se eu estiver falando besteira. Mas é possivel copiar dois arquivos de uma pasta no servidor e Colar em Outra escrevendo apenas a pasta de destino? Esses arquivos seriam colados em outras pastas quando for preciso e por isso queria algo que eu só digitasse a pasta de destino e fosse copiado o arquivo. É possivel?

 

 

 

Valeu

<?
$copia = $_POST["copia"];
 // copia o arquivo 
 $de = "upload.html";
 $para = "$copia";

 if(copy($de, $para))
   echo "Arquivo copiado com sucesso.";
 else
   echo "Não foi possível copiar o arquivo.";
?>

 

<html>
<body>
<form action="copia.php" method="POST" enctype="multipart/form-data">
Destino do arquivo: <input type=text name="copia"><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>

 

 

 

 

To perto ou nao tem nada a ver?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

É possível sim, e do jeito que você programou; não entendi qual a dificuldade.

 

Vou te dar algumas dicas apenas:

 

1 - Para saber o diretório em que o PHP está trabalhando, use o comando getcwd :seta: http://php.net/manual/en/function.getcwd.php

2 - Se possível, trabalhe com diretórios completos, por exemplo: /home/seu_user/public_html/pasta_qualquer/arquivo.html

3 - Verifique o CHMOD das pastas a serem trabalhadas, em caso de problemas.

 

 

Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esses arquivos seriam colados em outras pastas quando for preciso e por isso queria algo que eu só digitasse a pasta de destino e fosse copiado o arquivo.

 

Amigo, se o seu cliente quer apontar um diretório na máquina local dele para "baixar" arquivos do seu servidor, então você não conseguirá fazer dessa forma.

 

Por outro lado, você pode disponibilizar o arquivo para download.

 

Apenas tome muito cuidado ao escrever códigos como esse:

<?
$copia = $_POST["copia"];
 // copia o arquivo 
 $de = "upload.html";
 $para = "$copia";

 

Se você estiver em um servidor rodando PHP < 5.3 e open_basedir e safe_mode estiverem desligados, você poderá enfrentar situações como o usuário apontando, por exemplo, o campo "copia" com /etc/passwd ou qualquer outra localização perigosa.

 

Verifique sempre, principalmente tratando de caminhos, se o que o usuário apontou está de acordo com o esperado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Matheus,

 

Fiz o caminho como você disse, aparece que o arquivo foi copiado com sucesso, mas quando vou na pasta indicada no servidor o arquivo nao esta lá.

 

João Batista, o script que quero é para copiar um arquivo do servidor e colar em outra pasta no proprio servidor.

 

 

Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?
$copia = $_POST["copia"];
 // copia o arquivo 
 $de = 'upload.html';
 $para = $copia;

 if(copy($de, $para))
   echo 'Arquivo copiado com sucesso para <b>'.getcwd().'/'.$de.'</b>.';
 else
   echo 'Não foi possível copiar o arquivo.';
?>

 

Alerto de novo para verificares se a pasta possui permissões de escrita.

Recomendo ainda que faças prévios testes sem o uso de formulário, somente o copy diretamente, alterando os valores até chegares num resultado. Tu podes ainda inserir o getcwd() antes do diretório-alvo.

 

Lembrando que estou desconsiderando completamente as possíveis falhas de segurança comentadas pelo João Batista Neto.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.