Página para downloads em HTML corrompendo arquivos [RESOLVIDO]

1. Página para downloads em HTML corrompendo arquivos [RESOLVIDO]

Jonatan Gomes
BarbaNegra

(usa Ubuntu)

Enviado em 31/12/2012 - 01:25h

Olá, criei um simples script em html para fazer downloads de arquivos. Chega a fazer o download certinho, porém, quando eu tento abrir o arquivo ele sempre está corrompido. Alguém pode me dar um força?

Abraços.


  


2. MELHOR RESPOSTA

Diego Lepera
d_lepera

(usa Linux Mint)

Enviado em 04/01/2013 - 15:26h

R4$T4 escreveu:

d_lepera escreveu:

R4$T4 escreveu:

lcavalheiro escreveu:

R4$T4 escreveu:

Não, o arquivo esta normal, durante o download que o arquivo é corrompido


Passa o script pra gente analizar.


?>

// o arquivo para download

$arquivo = $_GET['way'];



// informa o tamanho do arquivo ao navegador

header("Content-Length: ".filesize($arquivo));


// informa ao navegador o nome do arquivo

header("Content-Disposition: attachment; filename=".basename($arquivo));



readfile($arquivo); // lê o arquivo




?>



Você precisa colocar o content-type do arquivo, senão o PHP vai interpretar como texto:
header ("Content-type: ". mime_content_type($arquivo));

E no nome do arquivo o ideal é que esteja entre aspas:
header("Content-Disposition: attachment; filename=\"".basename($arquivo)."\"");

Abs.




Nada ainda, continua a não abrir o arquivo


Tenta assim:

<?php

// o arquivo para download

$arquivo = $_GET['way'];


header ("Content-type: ". mime_content_type($arquivo) .";");

// informa o tamanho do arquivo ao navegador

header("Content-Length: ".filesize($arquivo));


// informa ao navegador o nome do arquivo

header("Content-Disposition: attachment; filename=\"".basename($arquivo)."\"");



echo file_get_contents($arquivo); // lê o arquivo

?>

3. Re: Página para downloads em HTML corrompendo arquivos [RESOLVIDO]

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 31/12/2012 - 09:36h

Tem que ver se o arquivo já não está corrompido na fonte.


4. ...

Jonatan Gomes
BarbaNegra

(usa Ubuntu)

Enviado em 01/01/2013 - 18:37h

Não, o arquivo esta normal, durante o download que o arquivo é corrompido



5. Re: Página para downloads em HTML corrompendo arquivos [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 01/01/2013 - 19:09h

R4$T4 escreveu:

Não, o arquivo esta normal, durante o download que o arquivo é corrompido


Passa o script pra gente analizar.


6. opa!

Jonatan Gomes
BarbaNegra

(usa Ubuntu)

Enviado em 03/01/2013 - 02:39h

lcavalheiro escreveu:

R4$T4 escreveu:

Não, o arquivo esta normal, durante o download que o arquivo é corrompido


Passa o script pra gente analizar.


?>

// o arquivo para download

$arquivo = $_GET['way'];



// informa o tamanho do arquivo ao navegador

header("Content-Length: ".filesize($arquivo));


// informa ao navegador o nome do arquivo

header("Content-Disposition: attachment; filename=".basename($arquivo));



readfile($arquivo); // lê o arquivo




?>


7. Re: Página para downloads em HTML corrompendo arquivos [RESOLVIDO]

Diego Lepera
d_lepera

(usa Linux Mint)

Enviado em 03/01/2013 - 10:00h

R4$T4 escreveu:

lcavalheiro escreveu:

R4$T4 escreveu:

Não, o arquivo esta normal, durante o download que o arquivo é corrompido


Passa o script pra gente analizar.


?>

// o arquivo para download

$arquivo = $_GET['way'];



// informa o tamanho do arquivo ao navegador

header("Content-Length: ".filesize($arquivo));


// informa ao navegador o nome do arquivo

header("Content-Disposition: attachment; filename=".basename($arquivo));



readfile($arquivo); // lê o arquivo




?>



Você precisa colocar o content-type do arquivo, senão o PHP vai interpretar como texto:
header ("Content-type: ". mime_content_type($arquivo));

E no nome do arquivo o ideal é que esteja entre aspas:
header("Content-Disposition: attachment; filename=\"".basename($arquivo)."\"");

Abs.





8. Re: Página para downloads em HTML corrompendo arquivos [RESOLVIDO]

Jonatan Gomes
BarbaNegra

(usa Ubuntu)

Enviado em 04/01/2013 - 01:13h

d_lepera escreveu:

R4$T4 escreveu:

lcavalheiro escreveu:

R4$T4 escreveu:

Não, o arquivo esta normal, durante o download que o arquivo é corrompido


Passa o script pra gente analizar.


?>

// o arquivo para download

$arquivo = $_GET['way'];



// informa o tamanho do arquivo ao navegador

header("Content-Length: ".filesize($arquivo));


// informa ao navegador o nome do arquivo

header("Content-Disposition: attachment; filename=".basename($arquivo));



readfile($arquivo); // lê o arquivo




?>



Você precisa colocar o content-type do arquivo, senão o PHP vai interpretar como texto:
header ("Content-type: ". mime_content_type($arquivo));

E no nome do arquivo o ideal é que esteja entre aspas:
header("Content-Disposition: attachment; filename=\"".basename($arquivo)."\"");

Abs.




Nada ainda, continua a não abrir o arquivo


9. Re: Página para downloads em HTML corrompendo arquivos [RESOLVIDO]

Osama Jr.
/bin/laden

(usa Void Linux)

Enviado em 04/01/2013 - 09:32h

Tenta assim cara, como nesse exemplo.


# Modo de transferencia de arquivo:
header("Content-Description: File Transfer");

# Tipo do arquivo:
header("Content-Type: ".$tipo);

# O arquivo a ser baixado:
header("Content-Disposition: attachment; filename= ".$arquivo);

# Tamanho do arquivo:
header("Content-Length: ".filesize(DIR_DOWNLOAD.$arquivo));

# Tipo de transferencia:
header("Content-Transfer-Encoding: binary");

# Limpa buffers de saida:
ob_clean();
flush();

# Baixando arquivo...
readfile(DIR_DOWNLOAD.$arquivo);



10. Vlw Pessoal

Jonatan Gomes
BarbaNegra

(usa Ubuntu)

Enviado em 06/01/2013 - 04:00h

Opâ, finalmente!!! Tanto o jeito d_lepera como o /Bin/ estão funcionando. Obrigado pela atenção







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts