Jump to content


Photo

Force-download


  • Faça o login para participar
2 replies to this topic

#1 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 08/06/2006, 12:55

Montando um script de download, ele funciona normalmente para baixar, porem, ao tentar baixar um arquivo .wmv, o arquivo vem corrompido.
Testei com pdf e funciona normal. Mas com wmv nao.
No teste do pdf, na caixa de download aparece q eh do acrobat... ja no caso do wmv, aparece unknown file type.

parte do codigo eh isso, que deveria identificar o tipo do arquivo:
		   $file_extension = strtolower(substr(strrchr($filename,"."),1));

		   switch ($file_extension) {
			   case "pdf": $ctype="application/pdf"; break;
			   case "exe": $ctype="application/octet-stream"; break;
			   case "zip": $ctype="application/zip"; break;
			   case "doc": $ctype="application/msword"; break;
			   case "xls": $ctype="application/vnd.ms-excel"; break;
			   case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
			   case "wmv": $ctype="video/x-ms-wmv"; break;			   
			   case "mpg": $ctype="video/mpeg"; break;			   
			   case "avi": $ctype="video/x-msvideo"; break;
			   case "mpeg": $ctype="video/mpeg"; break;							  
			   case "gif": $ctype="image/gif"; break;
			   case "png": $ctype="image/png"; break;
			   case "jpe": case "jpeg":
			   case "jpg": $ctype="image/jpg"; break;
			   default: $ctype="application/force-download";
		   }

		   if (!file_exists($filename)) {
			   die("Nao há arquivo.");
		   }

		   header("Pragma: public");
		   header("Expires: 0");
		   header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
		   header('Content-Description: File Transfer'); 
		   header("Cache-Control: private",false);
		   header("Content-Type: $ctype");
		   header("Content-Disposition: attachment; filename=\"".basename($filename)."\";");
		   header("Content-Transfer-Encoding: binary");
		   header("Content-Length: ".@filesize($filename));
		   set_time_limit(0);
		   @readfile("$filename") or die("Arquivo Não Encontrado.");

O que pode ser este erro de corromper ?

grato.

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 08/06/2006, 14:59

Por via das dúvidas, tente com: audio/x-ms-wmv :(
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 08/06/2006, 15:54

Nao.. isso nao adiantou.



Percebo que fiz um teste com um arquivo TXT.. e ele veio com sujeira.. tipo, faltou pedaco da palavra q eu havia digita e o inicio veio com uma linha em branco...



ker dizer... ta corrompendo, alterando... agora.. pq ?



tentei com fopen e file get contents.. mas a mesma coisa...



vi no phpbuilder q teve gente com o mesmo problema... mas nenhuma solucao.. :(




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq