Vinicius,

Acredito que se esta no public_html é possível sim. É só ter o caminho completo.

Gostei deste force_download, eu não conhecia:

http://codeigniter.com/user_guide/helpers/download_helper.html


--
Atenciosamente,
'É um orgulho ter você como nosso cliente'
____________________________
Hermes Alves
Gerente TI

ArgoHost.net
Hospedagem Web com Facilidade
http://www.argohost.net

Suporte Telefônico: (85) 3198 3030 / (11) 4063 4844
E-mail: [email protected]

Em 29/01/2009, às 09:42, Vinicius Cruz escreveu:

Já utilizei algo parecido, com a função force_download do helper que Edinho falou. No meu caso, era somente para verificar se o arquivo que o usuário estava tentando baixar era dele. Então fiz algo como:

download/arquivo/id_arquivo

Na função, verificava se estava logado e se o arquivo era dele. O id_arquivo era a chave primaria do banco de dados, com o endereço do arquivo no servidor. Mesmo sem estar numa pásta acima do public_html, o usuário não conseguiria pegar o endereço físico. (ou estou enganado?) Pelo menos da forma convencional ele não conseguiria. Ao acessar essa página, forçava o download do arquivo.

Vinicius

2009/1/29 Edinho Almeida <[email protected]>
Também há a opção de salvar o arquivo numa pasta acima do public_html e no banco o nome do arquivo. O link contém o id do banco que recuperará o nome do arquivo e com o helper download chama-se a função force_download enviando o caminho e nome do arquivo, isto depois de verificado captcha ou login etc...

Abs
Edinho Almeida
11 8018-8019


2009/1/29 Julio Cesar <[email protected]>

Quanto a mandar o arquivo sem mostrar o endereço físico dele, você deve fazer como o colega falou: "você pega esse conteúdo binário do arquivo e em runtime envia um cabeçalho HTTP com o mime-type correspondente" desta forma ele não vai dizer o endereço físico, a dica é que você não precisa ter o arquivo salvo no banco, porém você você precisa ter alguma forma de saber qual arquivo que o usuário deseja, mas isto é relativamente fácil utilizando banco de dados, pois você pode disponibilizar um código MD5 digamos que do nome do arquivo, e salvar isso em um registro no BD, e no mesmo registro tu salva outro campo que seria o local físico do arquivo, então a idéia é: quando usuário buscar por tal código, eu procuro no banco a qual arquivo corresponde e envio o cabeçalho.... Há outra questão que deve ser avaliada também é que o IE tem um comportamento diferente quando você manda o header de um arquivo, então você terá que utilizar um IF pedidno se for IE então..... se não for IE então ..... Você deve pesquisar mais na net sobre isso. Procure sobre a função header do PHP

2009/1/28 <[email protected]>
Olá Pessoal,


Estou com um probleminha. Preciso disponibilizar alguns arquivos para
download, mas só posso liberar o download se a pessoa aceitar o contrato.

É algo estilo ao MegaUpload ou RapidShare e aquele código que você tem
que digitar.

Sem digitar o código não se consegue acesso ao arquivo.

Nem por url completa se consegue fazer o download sem a validação devida.

Alguém pode ajudar?

Abraços,

Hermes Alves
www.espacoilimitado.com.br



_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br


_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br



_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br


_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a