Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Estou com um problema que não estou conseguindo resolver, ja fiz varias buscas no google e ainda nao consegui implementar uma solução.
Preciso fazer o upload de um arquivo Zip e descompacta-lo no servidor, mas estou tendo problemas na hora de descompactar arquivos com acentuação, sem acentuação funciona certinho.
Segue codigo
<meta charset="utf-8">
<html>
<head>
<title>Envia arquivo e descompacta online</title>
</head>
<body>
<form action="form.php" method="post" enctype="multipart/form-data">
<input type="file" name="Arquivo" id="Arquivo" multiple><br>
<input type="submit" value="Enviar">
<input type="reset" value="Apagar">
</form>
</body>
</html>
<html>
<head>
<title>Envia arquivo e descompacta online</title>
</head>
<body>
<?php
define( 'CHARSET', 'UTF-8' );
ini_set( 'default_charset', CHARSET );
ini_set( 'mbstring.http_output', CHARSET );
ini_set( 'mbstring.internal_encoding', CHARSET );
header( 'Content-Type: text/html; charset=' . CHARSET );
$nome_temporario=$_FILES["Arquivo"]["tmp_name"]; // Variável $nome_temporario recebe o arquivo vindo do formulário
$nome_real=$_FILES["Arquivo"]["name"]; // Variável $nome_real recebe o arquivo vindo do formulário
copy($nome_temporario,"$nome_real"); // Copiando a variável $nome_temporario para a variável $nome_real
echo "$nome_real"; // Mostrando o nome do arquivo
echo "<br>"; // Pulando uma linha
$zip = new ZipArchive; // A variável $zip recebe da biblioteca do php.ini o comando ZipArquive
if ($zip->open($nome_real) === TRUE) { // Verificando se o arquivo recebido na variável $nome_real existe e abrindo o arquivo
for($i = 0; $i < $zip->numFiles; $i++) {
$zip->extractTo('arquivos/', array($zip->getNameIndex($i)));
}
$zip->close(); // Fechando o comando ZipArquive
echo 'Arquivo descompactado'; // Mostrando a mensagem de arquivo descompactado
} else {
echo 'Falha ao descompactar arquivo'; // Caso haja alguma falha ao descompactar irá ser mostrado a mensagem de erro!
}
?>
</body>
</html>
Alguém sabe como resolver?Carregando comentários...