download forçado de arquivos as vezes manda 0 bytes

98 views
Skip to first unread message

Rolf J. Fürstenau - RJF Sistemas

unread,
Mar 21, 2012, 9:31:40 AM3/21/12
to PHPRS
Ola colegas

Estou usando um script PHP para forçar o download de arquivos pelo
browser. Isto é, ao invés de usar links para os arquivos, o sistema
passa como parametro (por URL) o nome do arquivo e então é executado o
script:

header("Content-Type: ".mime_content_type("$diretorio_onde_vao_os_
arquivos_flag$arquivo"));

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

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

header("Content-Transfer-Encoding: binary");

header('Expires: 0');

header('Pragma: no-cache');

readfile("$diretorio_onde_vao_os_arquivos_flag$arquivo");

Este script funcionou com a maioria dos arquivos, porém quando foi
para a produção apareceram erros com alguns downloads. Alguns arquivos
ele não consegue enviar e envia 0 (zero) bytes para o browser. Os
arquivos existem, possuem conteúdo, tem as mesmas permissões e não são
arquivos grandes. Ele funciona como arquivos maiores que os que não
estão funcionando.
O nome do arquivo que é passado vem de uma lista de links gerada
automaticamente com os arquivos que estão no diretório.

Alguma idéia?

Grato,

Jesse

Gustavo Jantsch

unread,
Mar 21, 2012, 10:40:00 AM3/21/12
to lista...@googlegroups.com
Grande Rolf,
Ele fornece zero para o file size e vazio para o readfile?

Não pode ser um problema na codificação do nome dos arquivos, ex: arquivos com acento?

se tiver como, é interessante consultar o log de erro do PHP para ver se ha algo acontecendo que não está sendo reportado, ou mesmo usar error_reporting(E_ALL) com  ini_set('display_errors'1) .

abraço,
gustavo


--
You received this message because you are subscribed to the Google
Groups "PHPRS" group.
To post to this group, send email to lista...@googlegroups.com
To unsubscribe from this group, send email to
lista-phprs...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/lista-phprs?hl=en

Felipe Fürst

unread,
Mar 21, 2012, 3:44:25 PM3/21/12
to lista...@googlegroups.com
Readfile tá pegando do caminho certo ??
server windows ou linux ??

--
You received this message because you are subscribed to the Google
Groups "PHPRS" group.
To post to this group, send email to lista...@googlegroups.com
To unsubscribe from this group, send email to
lista-phprs...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/lista-phprs?hl=en



--
---------------------------------------
Felipe Furst

Tiago Jacobs - iMDT

unread,
Mar 21, 2012, 11:51:56 PM3/21/12
to lista...@googlegroups.com, "Rolf J. Fürstenau - RJF Sistemas"
Procure erros no error_log do apache.

Pode ser que o display_errors esteja OFF, comum em ambientes de produção, e por isso quando ocorre um erro você recebe uma saída vazia.

Atenciosamente,
Tiago
Reply all
Reply to author
Forward
0 new messages