Campo para resgatar arquivos de Upload para fazer download para a máquina

Caros Amigos,
Estou precisando fazer com que um grid ou um formulário ou um Grid Editável com um campo para visualizar arquivos que já foram feito Upload, para que o usuário possa baixar (resgatar) arquivos que estejam em um certo diretório. Ou um grid que possa mostrar quais os arquivos que estão no diretório para ele escolher e visualizar ou fazer um download para a máquina dele.

No SC pelo que estou fazendo os teste tem somente para Upload e não para Downlod com leitura e ou visualização dos arquivos em um certo diretório.

Adeilson de Oliveira

Quando você faz um upload você não associa esse upload a um registro de uma tabela?

Eh só criar uma consulta em cima dessa tabela e mostrar a coluna do campo upload.

Haroldo,
É que não foi gerado por um Upload, foi gerado um arquivo xml em um diretório. Porém são vários usuários gerando estes arquivos cada um tem um nome diferente, eu queria fazer com que o usuário (autorizado) conseguisse ver os arquivos e escolher qual ele desejaria fazer o Download.

Adeilson

pesquise a função php opendir:

http://br1.php.net/opendir

Haroldo,

Obrigado.

Adeilson

Adeilson.

Você deve estar com problema no seu email.

Poste o conteúdo do email que me enviou aqui, e buscamos uma solução juntos.

A dificuldade agora esta para fazer um processo onde o usuário possa navegar e escolher o arquivo que foi gerado (Protocolo xml).

Fiz uma rotina e coloque um link dentro da grid para chamar um controle e no scriptinit coloquei esta programação:

if ($handle = opendir(’…/XML’)) {
echo “Manipulador de diretório: $handle\n”;
echo “Arquivos:\n”;

while (false !== ($file = readdir($handle))) {
    echo "$file\n";
}

closedir($handle);

}

Ele esta mostrando os arquivos com o echo, porém preciso agora abrir um caixa onde o usuário possa escolher, clicar e fazer o download, processo inverso do Upload pelo SC, pelo que percebi o SC ele faz o processo do Upload porém o inverso Download ele não faz!
Teria alguma sugestão?

Adeilson de Oliveira

Adeilson,

Podemos partir para algo mais simples de se explicar por aqui ou usar uma programação mais avançada.

particularmente acho melhor algo mais simples com menos recursos externos ao SC.

Sugestão:

1)Criar uma tabela (MyISAM).

Campos: SessaoPhp(varchar(32)), nome_xml(varchar(255), datahora(TimeStamp)

2)Criar uma consulta em cima dessa tabela.

  • evento onscriptinit: Alimente a tabela usando o código do opendir, fazendo insert na tabela.
  • Adicione um where dinâmico filtrando pela sessão do php.
  • A coluna nome_xml deve ser to tipo documento(Arquivo), configura a pasta onde os arquivos se encontram.

O SC deve cuidar do processo do downlad.

Pergunta?
Esses arquivos crescerão sempre? Haverá uma limpeza periódica?