Jump to content


Photo

Como Zipar Um Arquivo Com Php


  • Faça o login para participar
16 replies to this topic

#1 henriquebrq

henriquebrq

    Turista

  • Usuários
  • 42 posts
  • Sexo:Não informado

Posted 09/01/2006, 08:35

Estou fazendo um sisteminha de ftp e preciso que quando a pessoa pegar o arquivo pelo campo file ele envie para dentro do servidor ja zipado como faço isso?

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 09/01/2006, 08:46

dê uma olhada nesse artigo do phpbrasil:

Gerando Arquivos ZIP Dinamicamente

e nesse topico: http://forum.wmonlin...65&hl=compactar

Flws...
;)Até mais

Edição feita por: HellBurn, 09/01/2006, 08:49.

Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 henriquebrq

henriquebrq

    Turista

  • Usuários
  • 42 posts
  • Sexo:Não informado

Posted 09/01/2006, 09:43

Valeu so tenho mais uma duvida
eu queria abrir esta pasta mas nao consigo?


<?

$X=1;


$Cam = "ftp/";
$Open = opendir($Cam);
while (false !== ($File = readdir($Open)) && $X < 100000) {
if ($File != "." && $File != "..") {
$Class = (($X%2) == 0) ? '#FDFDFD':'#EDEDED';
echo "
<tr bgcolor='".$Class."' class='Texto2' >
<td width=300 align='left'>&nbsp;&nbsp;$File</td>
<td width=300 align='center'>".Tam($File)."</td>
<td width=300 align='center'>".date("d/m/Y", fileatime($File))."</td>
<td width=300 align='center'><input type='button' value='Excluir' class=caixa2 onClick=window.location='?Arq=$File';></td>
</tr>";
$X++;
}
}
}
?>

#4 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 09/01/2006, 09:52

está dando erro ou simplesmente não mostra nada?
não entendi o pq do $X no while!

até
Site: GustavoPaes.net

^ Rumo ao Topo ^

#5 henriquebrq

henriquebrq

    Turista

  • Usuários
  • 42 posts
  • Sexo:Não informado

Posted 09/01/2006, 09:58

Ele até mostra o arquivo mas nao mostra a data nem o tamanho e nao consegue apagar se eu colocar em $Cam="."; ele lista todos os arquivos que estao no servidor mas se eu colocar o caminho para uma pasta ele da este erro




Warning: fileatime(): Stat failed for pasta (errno=2 - No such file or directory) in c:\arquivos de programas\easyphp1-7\www\listar_arquivos.php on line 71


Warning: fileatime(): Stat failed for e.ini (errno=2 - No such file or directory) in c:\arquivos de programas\easyphp1-7\www\listar_arquivos.php on line 71


Warning: fileatime(): Stat failed for re.tmp (errno=2 - No such file or directory) in c:\arquivos de programas\easyphp1-7\www\listar_arquivos.php on line 71

#6 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 09/01/2006, 10:07

hum... tente colocar $Cam="./sua_pasta/";
Com o ./ antes da pasta.

Até
Site: GustavoPaes.net

^ Rumo ao Topo ^

#7 henriquebrq

henriquebrq

    Turista

  • Usuários
  • 42 posts
  • Sexo:Não informado

Posted 09/01/2006, 10:09

Nao funco e o $x eu uso ele como resto resto de divisao para dar um echo com uma linha com uma cor e a outra com outra

Edição feita por: henriquebrq, 09/01/2006, 10:11.


#8 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 09/01/2006, 10:12

achei o erro :D

na hora de pegar a data da ultima modificação e o tamanho vc está passando apenas o nome do arquivo, e se esqueceu do diretório ;)

Veja como tem que ficar:
<td width=300 align='center'>".Tam($Cam.$File)."</td>
<td width=300 align='center'>".date("d/m/Y", fileatime($Cam.$File))."</td>

Obs.: $Cam tem que contér o caminho COM A BARRA no final ($Cam = "ftp/")

Até
Site: GustavoPaes.net

^ Rumo ao Topo ^

#9 henriquebrq

henriquebrq

    Turista

  • Usuários
  • 42 posts
  • Sexo:Não informado

Posted 09/01/2006, 10:16

Tu é fera mesmo valeu obrigadao PAES e eu nem me toquei que estava faltando algo

#10 henriquebrq

henriquebrq

    Turista

  • Usuários
  • 42 posts
  • Sexo:Não informado

Posted 09/01/2006, 10:41

Agora que vi deu um problema quando eu tento remover

#11 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 09/01/2006, 10:42

remover como?
que problema?
Site: GustavoPaes.net

^ Rumo ao Topo ^

#12 henriquebrq

henriquebrq

    Turista

  • Usuários
  • 42 posts
  • Sexo:Não informado

Posted 09/01/2006, 10:48

mesmo problema parece que ele nao esta achando a pasta

#13 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 09/01/2006, 10:56

mas coloca o código que vc está usando para deletar !
até
Site: GustavoPaes.net

^ Rumo ao Topo ^

#14 henriquebrq

henriquebrq

    Turista

  • Usuários
  • 42 posts
  • Sexo:Não informado

Posted 09/01/2006, 12:36

E coloquei a variavel no lugar que tu disse mas tb na mesma


<?
if($_GET){
$rec=$_GET['ftp'];
$recebe= base64_decode($rec);

if (!empty($_GET['Arq'])) { // AQUI VERIFICA SE O VALOR DA VARIAVEL Arq QUE ESTA VINDO DA URL NÃO ESTÁ EM BRANCO
unlink($recebe.$_GET['Arq']);; // ESTA FUNCAO E ENCARREGADA DE APAGAR ARQUIVO BASTA SOMENTE DEFINIR O NOME DO ARQUIVO DENTRO DA FUNÇÃO!
echo "<br><div align='center' class='Msg'>Arquivo <b> ".$_GET['Arq']." </b> deletado com sucesso!</div><br>";
}
}
?>

Edição feita por: henriquebrq, 09/01/2006, 12:59.


#15 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 09/01/2006, 12:45

^^ meu filho vc de novo ?!?!?!?
eu te ajudei a montar este script ....

deve ser la no unlink que tbm precisa do caminho do diretorio...

T+

----------------------------------------------------------------------------
Editando

<?
if (!empty($_GET['Arq'])) { // AQUI VERIFICA SE O VALOR DA VARIAVEL Arq QUE ESTA VINDO DA URL NÃO ESTÁ EM BRANCO
unlink($_GET['Arq']); // ESTA FUNCAO E ENCARREGADA DE APAGAR ARQUIVO BASTA SOMENTE DEFINIR O NOME DO ARQUIVO DENTRO DA FUNÇÃO!
echo "<br><div align='center' class='Msg'>Arquivo <b> ".$_GET['Arq']." </b> deletado com sucesso!</div><br>";
}
?>


no UNLINK vc tem q colocar desta maneira

unlink('./pasta/'.$_GET['Arq']);


T+

Edição feita por: Goku Jr, 09/01/2006, 12:48.

-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq