Ir para o conteúdo
nuno_couto

Upload através de form, com script PHP e barra de progresso...

Mensagens Recomendadas

nuno_couto    0
nuno_couto

Boas...

Tenho um sistema de upload com form html e script em php.

Os uploads funcionam bem mas num ficheiro grande, o browser fica "parado" enquanto o ficheiro é enviado.

Era interessante colocar uma barra de progresso, mas não sei em que linguagem pode ser, para se integrar com o PHP.

Já vi algumas coisas mas tudo feito em PERL e a exigir "instalação" no servidor. Suponho que seja possível fazer isso com algum script introduzido ou no php ou no html que contem o form.

Obrigado. Fiquem bem.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nazgulled    8
Nazgulled

isso com php axo k n da pa fazer, pk tu com php, apenas processas o k foi submetido depois de o ficheiro ter sido enviado para o servidor e não duarnte, logo não tens maneira de verificar quantos bytes do ficheiro já foram enviados... penso eu que não dá.

pode é dar com javascript, se javascript suportar envio de ficheiros, se calhar por ai dá pa fazeres a tal barra de progresso... ou então uma outra possiblidade é colocares no browser mal o utilizador pressione o botão de submeter, avisares de alguma forma que o processo pode demorar e podes colocar um gif animado que se repita so pa o utilizador ter a noção de que o browser está a fazer alguma coisa...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
perdido_e_sozinho    0
perdido_e_sozinho

isso com php axo k n da pa fazer, pk tu com php, apenas processas o k foi submetido depois de o ficheiro ter sido enviado para o servidor e não duarnte, logo não tens maneira de verificar quantos bytes do ficheiro já foram enviados... penso eu que não dá.

O box.net parece já ter esse sistema, mas não sei ao certo como se faz. Tenta procurar no Hotscripts.com

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ped@ntilva    0
Ped@ntilva

Com php não acho ser possivel.

Mas já ouvi falar num script em JSP.

Mas nem todos os servidores suportam JSP como PHP.

Boa sorte...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nuno_couto    0
nuno_couto

Teria lógica em java, mas eu nao percebo nada. O java iria "substituir" o form em html e iria fazer a barra de progresso em função dos dados enviados / tamanho total.

Se alguem souber ajudar...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nazgulled    8
Nazgulled

atenção que eu falei em javascript e não java são coisas bem distintas...

@perdido_e_sozinho

é bem possivel que o box.net não esteja a usar php. não sou nenhum guru de php nem lá perto ando, mas pelos conhecimentos que tenho, sinceramente não estou a ver como é que isso será possível com php... da maneira que o php funciona, simplesmente não estou a ver... apenas com php, não creio ser possível...

----------------- EDIT --------------------

Após umas buscas no google encontrei algo... Sabendo programar noutras linguagens e tendo suporte para elas, usando ASP, é fácil. Perl, pode não ser tão fácil mas também não é dificil. Em javascript não encontrei nada mas não me parece ser possível também. E com PHP é definitivamente impossível pois o PHP não permite acesso a certas informações do envio do ficheiro. Para se criar uma barra desse genero, precisamos de saber o tamanho do ficheiro e quanto é que já foi enviado, tal informação é impossivel de obter com PHP.

Se possuires Perl no teu servidor, encontrei um script para PHP que te faz isso. Aquilo básicamente usa um outro script em perl para a barra de progresso, mas assim que o ficheiro tiver sido totalmente enviado, já é processado por php.

Demo: http://www.raditha.com/php/upload.php

Página: http://www.raditha.com/php/progress.php

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nuno_couto    0
nuno_couto

tambem acho q não porque o php, quando "actua" já recebeu o ficheiro por upload... a barra de progresso tem que surgir antes... deve ser qualquer coisa relacionada com javascript ou java... nao sei

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nazgulled    8
Nazgulled

lê o meu post anterior, acabei de o editar...

de facto, isso também daria para fazer se o PHP fornecesse mais informações do envio do ficheiro, porque pela demo desse script que postei ai em cima, vocês reparam que a página com a barra está sempre a fazer um refresh, logo se o PHP fornecesse o total de bytes enviados para o sistema, também era possivel fazer com PHP dessa mesma forma. mas lá esta, o PHP não fornecesse esse dado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade