Ir para conteúdo

POWERED BY:

Arquivado

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

Rackfel

[Resolvido] Download em ftp

Recommended Posts

ola, é o seguinte, eu to precisando de um formulario que mostre todos os arquivos que estejam em uma pasta especifica do ftp para, quando a pessoa selecionar o arquivo, ele der a opção de download para a maquina dele, os arquivos que estão nessa pasta são arquivos que serão colocados por usuarios, como uma imagem ou um doc, ou pdf... Esse codigo que me passaram ele mostra o nome de todos os arquivos da pasta e eles vêm com um link, mas, quando eu cliko, direciona para uma pagina, mas, só faz isso, num baixa nem nada

eu queria que abrisse uma caixa de download sabe? para a pessoa escolher onde quer baixar ou se quer so abrir...

tem como?

Me passaram esses codigos.

 

arquivo Download1.php

<?php

$remote_dir='webroot'; // Caminho para o diretório remoto
$ftp_server = 'seudominio.com.br'; // FTP do destino
$ftp_user_name = 'usuario';
$ftp_user_pass = 'senha';

// Conexão
$conn_id = ftp_connect($ftp_server);

// login 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// listando arquivos do diretório
$contents = ftp_nlist($conn_id, $remote_dir);

// exibindo
echo '

      ';
      foreach($contents as $file)
  echo '<a href="/download.php?arquvio='. $file .'">' . $file .'</a>
      ';
      echo '
            ';


// fecha a conexão
ftp_close($conn_id); ?>

e download.php

<?php

// define some variables
$local_file = 'php://stdout';
$server_file = isset($_GET['arquivo'])?$_GET['arquivo']:NULL;
if($server_file!=NULL)
{

$remote_dir='.'; // Caminho para o diretório remoto
$ftp_server = 'seudominio.com.br'; // FTP do destino
$ftp_user_name = 'usuario';
$ftp_user_pass = 'senha';

// conectando
$conn_id = ftp_connect($ftp_server);
// login 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// efetuando o download
if (!ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
   
    echo "Ocorreu um erro\n";
}

// fecha a conexão
ftp_close($conn_id);
exit;

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa.

tente assim:

<?php            
$ftp_server = "****";
$ftp_user = "****";
$ftp_pass = "*****";
$conectar = ftp_connect($ftp_server) or die("Error"); 
if(!@ftp_login($conectar,$ftp_server,$ftp_pass)) die('Error');
$file = $_GET['file'];
if(!empty($_GET['file'])){
		header('Content-type: application/txt');
		header("Content-Disposition: attachment; filename=$file");
		readfile($file);
	}
foreach(ftp_nlist($conectar,'.') as $files){
	print "<a href=?file=$files>$files</a><br>";
}
ftp_close($conectar);  
?>

Abrass.

Compartilhar este post


Link para o post
Compartilhar em outros sites

num deu certo não, mas, eu mudei para isso aki e arrumo

 

Desse:

echo '

      ';
      foreach($contents as $file)
  echo '<a href="/download.php?arquvio='. $file .'">' . $file .'</a>
      ';
      echo '
            ';

Para esse:

 

echo '

      ';
      foreach($contents as $file)
  echo '<a href="/arquivos/download.php?arquivo='. (str_replace($remote_dir,"",$file)) .'"><br>' . (basename($file)) .'</a>
      ';
      echo '
            ';

Agora esta certinho, o codigo foi feito e reformulado por marcos regis

Obrigado ae Dr_H0us3 ^^

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.