Função de download do elFinder: como usá-la e por que você precisa dela
Se você está procurando um gerenciador de arquivos baseado na web que seja fácil de usar, flexível e poderoso, você pode querer verificar o elFinder. Neste artigo, explicaremos o que é o elFinder, quais recursos e benefícios ele oferece e como instalá-lo e configurá-lo. Também nos concentraremos em um de seus recursos mais úteis: a função de download. Mostraremos como baixar arquivos e pastas com o elFinder e como personalizar a função de download de acordo com suas necessidades.
elfinder download function
O que é elFinder?
elFinder é um gerenciador de arquivos de código aberto para web, escrito em JavaScript usando jQuery e jQuery UI. Foi criado com a inspiração de simplicidade e conveniência do programa Finder usado no sistema operacional Mac OS X. Ele permite que você execute todas as operações com arquivos e pastas em um servidor remoto, como copiar, mover, carregar, criar, renomear, excluir, etc. Ele também oferece suporte a vários drivers de armazenamento, como sistema de arquivos local, MySQL, FTP, SFTP, Box, Dropbox, Google Drive, OneDrive, AWS S3, Azure e muito mais.
Recursos e benefícios do elFinder
Alguns dos recursos e benefícios do elFinder são:
Possui uma interface amigável que lembra o MacOS Finder ou o Windows Explorer. Você pode alternar entre exibição de lista e ícones, usar atalhos de teclado, arrastar e soltar arquivos e pastas e acessar um rico menu de contexto e barra de ferramentas.
É compatível com dispositivos móveis e responsivo. Ele se adapta a diferentes tamanhos de tela e dispositivos e oferece uma visualização sensível ao toque para smartphones e tablets.
Ele suporta vários idiomas e layout RTL (da direita para a esquerda). Você pode alterar facilmente o idioma e a direção da interface de acordo com sua preferência.
Ele possui um back-end de servidor de alto desempenho e uma IU de cliente leve. Utiliza JSON como formato de comunicação entre o cliente e o servidor, o que o torna rápido e eficiente.
Ele oferece suporte à funcionalidade multiraiz.Você pode montar diferentes volumes de diferentes fontes e acessá-los de uma interface.
Suporta criação e extração de arquivos. Você pode criar ou extrair arquivos zip, rar, 7z, tar, gzip, bzip2 com elFinder.
Ele suporta visualização e edição de arquivos. Você pode visualizar tipos de arquivos comuns, como imagens, vídeos, áudio, texto, PDF, etc. Você também pode editar arquivos de texto e imagens com o elFinder.
Ele suporta informações personalizadas na caixa de diálogo de informações. Você pode adicionar seus próprios campos e valores ao diálogo de informações de arquivo ou pasta.
Ele suporta a função de classe CSS personalizada para o ícone de pasta personalizada. Você pode atribuir diferentes ícones a diferentes pastas com base em seus critérios.
Ele suporta plug-ins de conector. Você pode estender a funcionalidade do elFinder adicionando plug-ins que lidam com eventos como upload, download, renomeação, exclusão, etc.
É fácil de integrar com editores da web. Você pode usar o elFinder como um navegador de arquivos ou seletor para editores da web, como elRTE, CKEditor, TinyMCE, etc.
Possui uma configuração flexível de direitos de acesso, tipos de arquivos de upload, interface do usuário e outras opções. Você pode personalizar o elFinder de acordo com suas necessidades.
Como instalar e configurar o elFinder
Para instalar e configurar o elFinder em seu servidor web, você precisa seguir estes passos:
))">Compositor para instalá-lo.
Carregue a pasta elFinder para o seu servidor web. Certifique-se de que a versão do PHP seja 5.3 ou superior e que as extensões necessárias do PHP estejam habilitadas (mbstring, fileinfo, zip, etc.).
Crie uma pasta onde você deseja armazenar seus arquivos e pastas. Certifique-se de que a pasta tenha permissão de gravação para o servidor web.
Edite o arquivo de configuração do conector (php/connector.minimal.php) e defina o caminho raiz, URL e alias de sua pasta. Você também pode alterar outras opções, como controle de acesso, configurações de upload, miniaturas, etc.
Inclua os arquivos CSS e JS do elFinder em sua página da web. Você também pode personalizar o tema e o idioma do elFinder.
Crie um elemento div com um atributo id (por exemplo, id="elfinder") em sua página da web onde deseja exibir elFinder.
Inicialize elFinder com jQuery em sua página web. Por exemplo:
$(document).ready(function() $('#elfinder').elfinder( // defina suas opções do elFinder aqui url : 'php/connector.minimal.php', // URL do conector lang: 'en', // altura do idioma: 600 // altura do elFinder ); );
Para mais detalhes e exemplos, você pode consultar o .
Qual é a função de download no elFinder?
A função de download no elFinder permite que você baixe arquivos e pastas do servidor para o seu computador local. Você pode baixar um ou vários arquivos ou pastas de uma só vez, dependendo da sua configuração. Existem três maneiras de baixar arquivos e pastas com o elFinder: clicando duas vezes, usando o menu de contexto e usando a barra de ferramentas.
Como baixar arquivos e pastas com elFinder
Baixe clicando duas vezes
Para baixar um arquivo clicando duas vezes, basta clicar duas vezes no ícone ou nome do arquivo no elFinder. Uma caixa de diálogo aparecerá solicitando que você salve o arquivo ou abra-o com um programa. Escolha a opção de sua preferência e clique em OK. O arquivo será baixado para o seu computador local.
Para baixar uma pasta clicando duas vezes, você precisa habilitar a opção de download de pasta no arquivo de configuração do conector (php/connector.minimal.php). Encontre a linha que diz:
'bind' => array( 'mkdir mkfile renomear upload duplicado rm paste' => 'logger' )
e adicione 'download' => 'force_download' após 'logger'. Deve ficar assim:
'bind' => array( 'mkdir mkfile renomear upload duplicado rm paste' => 'logger', 'download' => 'force_download' )
Isso forçará o elFinder a baixar pastas como arquivos zip em vez de abri-los. Depois de salvar o arquivo, você pode clicar duas vezes em qualquer pasta no elFinder e uma caixa de diálogo aparecerá solicitando que você salve o arquivo zip ou abra-o com um programa.Escolha a opção de sua preferência e clique em OK. A pasta será baixada como um arquivo zip para seu computador local.
Baixe usando o menu de contexto
Para baixar um arquivo ou uma pasta usando o menu de contexto, você precisa clicar com o botão direito do mouse no ícone ou nome do arquivo ou pasta no elFinder. Um menu de contexto aparecerá com várias opções. Escolha Download no menu e uma caixa de diálogo aparecerá solicitando que você salve o arquivo ou pasta ou abra-o com um programa. Escolha a opção de sua preferência e clique em OK. O arquivo ou pasta será baixado para o seu computador local.
Você também pode baixar vários arquivos ou pastas usando o menu de contexto. Para fazer isso, você precisa selecionar vários arquivos ou pastas mantendo pressionada a tecla Ctrl (ou Command no Mac) e clicando neles. Em seguida, clique com o botão direito do mouse em qualquer um deles e escolha Download no menu. Aparecerá uma caixa de diálogo solicitando que você salve um arquivo zip contendo todos os arquivos ou pastas selecionados ou abra-o com um programa. Escolha a opção de sua preferência e clique em OK. O arquivo zip será baixado para o seu computador local.
Baixe usando a barra de ferramentas
pasta será baixada para o seu computador local.
Você também pode baixar vários arquivos ou pastas usando a barra de ferramentas. Para fazer isso, você precisa selecionar vários arquivos ou pastas mantendo pressionada a tecla Ctrl (ou Command no Mac) e clicando neles. Em seguida, clique no botão Download na barra de ferramentas. Aparecerá uma caixa de diálogo solicitando que você salve um arquivo zip contendo todos os arquivos ou pastas selecionados ou abra-o com um programa. Escolha a opção de sua preferência e clique em OK. O arquivo zip será baixado para o seu computador local.
Como personalizar a função de download no elFinder
Se quiser personalizar a função de download no elFinder, você pode usar algumas das opções e eventos disponíveis no arquivo de configuração do conector (php/connector.minimal.php) e no script de inicialização do cliente. Aqui estão alguns exemplos de como personalizar a função de download no elFinder:
Adicione uma função JavaScript ao evento de download
Se quiser adicionar uma função JavaScript ao evento de download, você pode usar a opção de ligação no script de inicialização do cliente. Por exemplo, se você quiser mostrar uma mensagem de alerta quando um arquivo ou pasta for baixado, você pode usar este código:
} );
Isso vinculará uma função ao evento de download que alertará o número de itens baixados.
Ativar ou desativar o download da pasta
Se quiser habilitar ou desabilitar o download da pasta, você pode usar a opção zipdl no arquivo de configuração do conector (php/connector.minimal.php). Esta opção determina se as pastas podem ser baixadas como arquivos zip ou não. Por padrão, é definido como true, o que significa que o download da pasta está ativado. Se você deseja desabilitar o download da pasta, pode defini-lo como falso. Por exemplo:
'zipdl' => falso
Isso desativará o download de pastas e impedirá que os usuários baixem pastas como arquivos zip.
Alterar o nome ou formato do arquivo de download
Se quiser alterar o nome ou o formato do arquivo de download, você pode usar a opção zipdlHandler no arquivo de configuração do conector (php/connector.minimal.php). Esta opção permite que você especifique uma função PHP personalizada que manipulará a criação e a saída do arquivo zip. Você pode usar esta função para modificar o nome do arquivo, formato, nível de compactação, senha, etc. do arquivo zip. Por exemplo, se você deseja adicionar um prefixo e um carimbo de data/hora ao nome do arquivo zip, pode usar este código:
'zipdlHandler' => function($cmd, $args, $elfinder) $files = $args['targets']; $nome = 'meuzip_' . data('YmdHis'). '.fecho eclair'; $zip = new ZipArchive(); $tmp = tempnam(sys_get_temp_dir(), 'ELF'); if ($zip->open($tmp, ZipArchive::CREATE) === true) foreach ($arquivos como $hash) $volume = $elfinder->getVolume($hash); if ($volume && ($arquivo = $volume->arquivo($hash))) if ($arquivo['mime'] === 'diretório') $volume->addSubdirsToZip($zip, $arquivo); else $path = $volume->getPath($hash); $zip->addFile($volume->realpath($hash), $path); $zip->close(); header('Tipo de conteúdo: aplicativo/zip'); header('Content-Disposition: attachment; filename="' . $name . '"'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . filesize($tmp)); readfile($tmp); desvincular($tmp);
Isso criará um manipulador de arquivo zip personalizado que adicionará um prefixo e um registro de data e hora ao nome do arquivo zip.
Conclusão
Resumo dos principais pontos
Finder e como personalizar a função de download de acordo com nossas necessidades. Aprendemos como baixar arquivos e pastas clicando duas vezes, usando o menu de contexto e usando a barra de ferramentas. Também aprendemos como adicionar uma função JavaScript ao evento de download, como habilitar ou desabilitar o download da pasta e como alterar o nome ou formato do arquivo de download.
Chamada à ação e outros recursos
Se você estiver interessado em usar o elFinder como seu gerenciador de arquivos baseado na web, você pode baixá-lo em no GitHub, Stack Overflow ou Grupos do Google para fazer perguntas, relatar problemas ou contribuir com o projeto.
Esperamos que você tenha gostado deste artigo e aprendido algo novo.Se você tiver algum comentário ou sugestão, informe-nos nos comentários abaixo. Obrigado por ler!
perguntas frequentes
Aqui estão algumas das perguntas frequentes sobre a função de download do elFinder:
P: Como posso limitar o tamanho do arquivo zip ao baixar vários arquivos ou pastas?
R: Você pode usar a opção maxArcFilesSize no arquivo de configuração do conector (php/connector.minimal.php) para definir o tamanho máximo do arquivo zip em bytes. Se o arquivo zip exceder esse tamanho, o elFinder mostrará uma mensagem de erro e interromperá o download. Por exemplo:
'maxArcFilesSize' => 104857600 // 100 MB
Isso limitará o tamanho do arquivo zip a 100 MB.
P: Como posso impedir que os usuários baixem determinados arquivos ou pastas?
R: Você pode usar a opção de controle de acesso no arquivo de configuração do conector (php/connector.minimal.php) para definir as permissões para cada arquivo ou pasta. Você pode usar uma função PHP ou uma matriz de regras para determinar se um arquivo ou pasta é legível, gravável, bloqueado, oculto ou possui outros atributos. Por exemplo:
'accessControl' => function($attr, $path, $data, $volume) // não permite acesso a arquivos ou pastas ocultos if (strpos(basename($path), '.') === 0) return false; // não permite download de arquivos com extensão .exe if ($attr == 'read' && pathinfo($path, PATHINFO_EXTENSION) == 'exe') return false; // permite todas as outras operações return null;
Isso impedirá que os usuários acessem pastas ou arquivos ocultos e baixem arquivos com extensão .exe.
P: Como posso alterar o comportamento de download padrão do elFinder?
R: Você pode usar a opção de manipuladores no script de inicialização do cliente para substituir o comportamento de download padrão do elFinder. Você pode especificar uma função JavaScript personalizada que manipulará o evento de download antes ou depois de ser executado pelo elFinder.Por exemplo, se você deseja abrir uma nova janela em vez de mostrar uma caixa de diálogo ao baixar um arquivo, pode usar este código:
} } }); });
Isso substituirá o comportamento de download padrão e abrirá uma nova janela.
P: Como posso adicionar uma marca d'água ou uma assinatura aos arquivos baixados?
R: Você pode usar a opção de plug-ins do conector no arquivo de configuração do conector (php/connector.minimal.php) para adicionar uma função PHP personalizada que modificará os arquivos baixados antes de serem enviados ao cliente. Você pode usar qualquer biblioteca ou função PHP que possa manipular arquivos, como GD, ImageMagick, PDFlib, etc. Por exemplo, se você quiser adicionar uma imagem de marca d'água às imagens baixadas, você pode usar este código:
'plugin' => array( 'Watermark' => array( 'enable' => true, 'marginRight' => 5, 'marginBottom' => 5, 'quality' => 95, 'transparency' => 70, 'targetType' => IMG_GIF IMG_JPG IMG_PNG IMG_WBMP ) ),
Isso ativará o plug-in Watermark e adicionará uma imagem de marca d'água (watermark.png) ao canto inferior direito das imagens baixadas com algumas configurações de margem, qualidade, transparência e tipo de destino.
P: Como posso baixar arquivos ou pastas do elFinder para outro serviço ou aplicativo da web?
R: Você pode usar a opção netmount no script de inicialização do cliente para montar um serviço da Web ou aplicativo como um volume no elFinder. Você pode então copiar ou mover arquivos ou pastas do elFinder para o volume montado. Por exemplo, se você deseja baixar arquivos ou pastas do elFinder para o Dropbox, pode usar este código:
$(document).ready(function() $('#elfinder').elfinder( // defina suas opções do elFinder aqui url : 'php/connector.minimal.php', // URL do conector lang: 'en', // altura do idioma: 600, // altura do elFinder netmount: dropbox: name: 'Dropbox', id: 'dropbox', csscls: 'dropbox', syncInterval: 5000, opções: key: 'your_dropbox_app_key', segredo: 'your_dropbox_app_secret', sandbox: false ); );
Isso montará o Dropbox como um volume no elFinder e permitirá que você baixe arquivos ou pastas do elFinder para o Dropbox copiando-os ou movendo-os.
Este é o fim do artigo. Espero que você tenha achado útil e informativo. Se você tiver quaisquer perguntas ou comentários, não hesite em contactar-me. Obrigado por ler! 0517a86e26
Comments