Jump to content
Sign in to follow this  
ruimcosta

Ligação ftp e unzip

Recommended Posts

ruimcosta

Biba,

Na continuação do meu post anterior (http://www.portugal-a-programar.pt/index.php?showtopic=43805) e após conseguir enviar o meu ficheiro .zip para o 2º servidor necessito de efectuar a descompressão do mesmo.

Ando às voltas com este código para descomprimir o zip, sem dar erro, mas sem fazer o que seria suposto.

$upload = ftp_put($conn_id, 'public_html/xpto/site.zip', $local_file, FTP_BINARY);

    // check upload status
    if (!$upload) {
        echo "O envio do site modelo para o alojamento falhou!";
    } else {
        echo 'Upload feito';
        
        $zip = new ZipArchive;
        
        $res = $zip->open($remote_file);
        if ($res === TRUE) {
            $zip->extractTo('ftp://user:pass@host.pt/public_html/xpto/');
            $zip->close();
        }
    }

PS: O upload é feito.

Serão limitações?


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

-.-' Acho que o melhor era mesmo extraires localmente e enviares em modo non-zip... n?

Biba,

Na continuação do meu post anterior (http://www.portugal-a-programar.pt/index.php?showtopic=43805) e após conseguir enviar o meu ficheiro .zip para o 2º servidor necessito de efectuar a descompressão do mesmo.

Ando às voltas com este código para descomprimir o zip, sem dar erro, mas sem fazer o que seria suposto.

$upload = ftp_put($conn_id, 'public_html/xpto/site.zip', $local_file, FTP_BINARY);

    // check upload status
    if (!$upload) {
        echo "O envio do site modelo para o alojamento falhou!";
    } else {
        echo 'Upload feito';
        
        $zip = new ZipArchive;
        
        $res = $zip->open($remote_file);
        if ($res === TRUE) {
            $zip->extractTo('ftp://user:pass@host.pt/public_html/xpto/');
            $zip->close();
        }
    }

PS: O upload é feito.

Serão limitações?

Aliás, na realidade, é mesmo isso que estás a fazer xD... Só que sem saberes ;) e com um processo a mais... Ora pensa comigo:

- Envias o ficheiro .zip para o ftp;

- O teu script, ao fazer 'unzip' está a ir buscar o ficheiro, descompacta-o localmente;

- Tenta extrair para onde dizes ... que infelizmente não é um caminho válido;

- Dá erro...

Quando na realidade se fizesses:

- Descompactas o ficheiro .zip

- Envias ficheiro a ficheiro;

Fim....

Share this post


Link to post
Share on other sites
ruimcosta

Pois...

Estava a pensar no mesmo, estava apenas a tentar evitar o ter que ler todo o conteúdo de uma pasta (são cerca de 500 ficheiros!) para os enviar um a um.

Outro ponto: o caminho que dei no ftp é realmente válido mas ok. Vou refazer para fazer upload ficheiro a ficheiro...

Obrigado


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Outro ponto: o caminho que dei no ftp é realmente válido mas ok. Vou refazer para fazer upload ficheiro a ficheiro...

Não para o:

            $zip->extractTo('ftp://user:pass@host.pt/public_html/xpto/');

:D

Anyway, se te ajudar nalguma coisa, usa a função glob(), a função is_dir(), is_file() e .... RECURSIVIDADE !!!! ;)

Share this post


Link to post
Share on other sites
ruimcosta

Que remédio, já estou a tratar disso.

Tenho de criar toda a estrutura de pastas e copiar todos os ficheiros.

Dá trabalho, mas que no final me vai dar gozo....ai isso vai.

Obrigado pelas dicas.


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.