Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tamura

Enviar arquivo local para o servidor via FTP

Recommended Posts

Olá!

 

Estou desenvolvendo uma aplicação que envia arquivos pesados via FTP do PHP.

 

O tamanho dos arquivos pode exceder os 10mb.

 

O post_max_size, que é o tamanho máximo de envio de dados via form no método POST, é de 8M no servidor que contratei.

 

No início, tentei enviar os pesados arquivos e enviar via move_uploaded_files, mas não consegui por causa do limite do post_max_size definido pelo servidor.

 

Através de várias pesquisas, atentei utilizar o método FTP.

 

Fiz o seguinte esquema:

 

No formulário de envio, havia colocado o enctype pra multypart/form-data, mas percebi que ele acaba enviando o arquivo em si.

 

Então pensei em tirar o enctype="multypart/form-data" pra não enviar todo o arquivo em si, mas enviar somente o caminho que o input file informa (Ex: C:\qualquer pasta\arquivo pesado.zip).

 

Na página que recebe os dados deste formulário eu obtenho via POST esta informação (C:\qualquer pasta\arquivo pesado.zip), estabeleço uma conexão FTP no servidor remoto e dou o comando ftp_put informando este arquivo que desejo enviar (C:\qualquer pasta\arquivo pesado.zip) para a pasta que eu quero enviar.

 

Fiz os testes localmente utilizando o pacote WAMP (ou o próprio EasyPHP) e DEU TUDO CERTO!

 

Prontamente enviei para testar este recurso no servidor, seguindo os mesmos passos de envio desse arquivo (C:\qualquer pasta\arquivo pesado.zip), e... ele dá um erro na linha do ftp_put dizendo:

 

Warning: ftp_put(C:\qualquer pasta\arquivo pesado.zip) [function.ftp-put]: failed to open stream: No such file or directory in classeftp.inc.php on line 24

 

Agora não sei o que faço... por que será que quando faço teste aqui no local dá certo e no remoto está dando errado?

 

Qualquer dúvida de que eu escrevi, por favor me perguntem...

 

Obrigado pela paciência!

Compartilhar este post


Link para o post
Compartilhar em outros sites

obviamente que nao funcionará se o arquivo no existena sua maquina local funcionou porque sua maquina local serviu como cliente e servidor ao mesmo tempo entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade isso aconteceu porque o local pra onde você esta mandando o arquivo é invalido, você temque colocar o caminho real que o ftp do seu servidor usa.... tive esse problema e resolvi depois de muitos testes com caminhos diferentes...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmmm... não sabia disso...Então teria uma maneira de informar no ftp_put para enviar este arquivo da minha máquina para o servidor?T. P., como é esse caminho real que o ftp do servidor usa ou pode usar?Ou e vocês têm uma outra maneira de eu poder enviar este arquivo via PHP (porque quem vai usar esse sistema de envio desses arquivos saberá somente indicar o arquivo e clicar em "Enviar", meio leigo, sabe...)?Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve fazer upload pro servidor

Então, não tem como o PHP enviar arquivos grandes para o servidor?Mas o que me chamou atenção foi o que o T. P. citou:

tive esse problema e resolvi depois de muitos testes com caminhos diferentes...

Como você resolveu, T. P?Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, não tem como o PHP enviar arquivos grandes para o servidor?

é possível simjá desenvolvi aplicativos em PHP pra empresas que trocavam arquivos de 4 a 10GBos fatores principais - servidor - largura de banda do client-server, server-clientmas tive diversos problemas e parei o desenvolvimento. o problema não é constante. O que acontecia era oscilações da velocidade de conexão do usuario, que causa corrompimento ou interrompimento do envio.optei pelo mais seguro usando software FTP-client

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.