ivens.silveira
Mensagens : 7 Data de inscrição : 21/06/2013
| Assunto: Re: Arquivos anexos só aceita até 1MB Dom Abr 06, 2014 1:10 am | |
| Olá,
Eu verifiquei que mesmo definindo um tamanho máximo de anexo nas configurações do Ocomon quando tento anexar um arquivo maior ele não apresenta uma mensagem de erro informando que o arquivo é maior que o permitido, analisando o códiog abaixo (da /include/functions/funcoes.inc) eu pude notar que quando o anexo é maior do que o limite estebelecido o retorno de $arquivo["type"] é vazio e com isso o $typeOK continua em false, informando um erro de tipo não permitido ao invés de fazer o teste do tamanho do arquivo. Alguém mais notou esse problema? Ou sabe como corrigí-lo?
$typeOK = false; $types = ""; for ($i=0; $i<count($TYPE); $i++) { if (strlen($types)>0) $types.=", "; $types.=$TYPE[$i]; if(eregi("^".$mime[$TYPE[$i]]."$", $arquivo["type"])) { $typeOK = true; } }
if (!$typeOK) { $erro[] = "Arquivo em formato inválido! Os Tipos permitidos são: ".$types; $erro[] = "Arquivo em formato invádo! Os Tipos permitidos são: ".$types." mime: ".$arquivo["type"]; } else { // Verifica tamanho do arquivo if($arquivo["size"] > $config["conf_upld_size"]) { $kbytes = $config["conf_upld_size"]/1024;
$erro[] = "Arquivo em tamanho muito grande! O arquivo deve ser de no máximo " . $kbytes . " Kbytes."; }
Para simular isso eu definí no php.ini o post_max_size = 32M e upload_max_filesize = 32M e no Ocomon eu definí o tamanho máximo de anexo como 8192000 (8M). Ao anexar arquivos de até 8M tudo funciona normalmente, ao anexar arquivos maiores que isso é exibido o erro de tipo não permitido ao invés do erro de tamanho excessivo do anexo. | |
|
Adail
Mensagens : 4 Data de inscrição : 29/10/2013
| Assunto: Obrigada pela ajuda Ter maio 06, 2014 5:49 pm | |
| - ivens.silveira escreveu:
- Olá,
Sei que o tópico está sem ação faz um tempinho mas achei interessante acrescentar que a alteração também é necessária no arquivo /ocomon/geral/encaminhar.php Ao invés de substituir o "1000000" por "filesize($fileinput)" achei mais elegante usar "$tamanho2" no lugar, porque é uma variável definida algumas linhas acima e que já possui o tamanho do arquivo.
Alterei os arquivos e funcionou bem. OBRIGADA. Adail Sena | |
|
danielroger
Mensagens : 5 Data de inscrição : 02/08/2016 Idade : 29 Localização : Cuiabá - MT
| Assunto: Alguem ainda tem esses arquivos modificados? Ter Set 20, 2016 10:35 am | |
| - luizcarlossma escreveu:
- Bom dia. Antes de mais nada, quero dizer que quando tive os problemas de upload de arquivos só aceitar 1 MB e depois quando o ocomon ficou absurdamente lento em virtude da quantidade de anexos pesados, tive que agir com muita rapidez pois a pressão estava imensa. Por isso, infelizmente não documentei as modificações com clareza. Apenas a correção da questão dos anexos limitados a 1 mb que está alguns posts acima. Quanto à modificação para gravar anexos em disco, não lembro quais arquivos foram modificados. Por isso estou pegando uma cópia do nosso ocomon que está em produção hoje. Baixe no link abaixo. Usuários mais experientes que saibam quais arquivos fazem isso, favor informar. Outra coisa bem importante: como não uso o módulo de inventário, ele não foi modificado. NÃO ESTÁ GRAVANDO ANEXOS EM DISCO. Mas no módulo de ocorrências está correto.
https://drive.google.com/file/d/0B1NQa75fKBpFVHBXVnF5ay1GMFU/edit?usp=sharing
Estes aquivos trazem as seguintes modificações em relação à versão original:
- Alterações que permitem o upload de arquivos maiores do que 1MB - Substituição das tabelas de anexos do tipo BLOB para ponteiros que armazenam os anexos em disco - O campo RAMAL não é mais obrigatório ao atender um chamado - os usuários podem fazer assentamentos com possibilidade de incluir arquivos nos seus próprios chamados
PROCEDIMENTOS APÓS INSTALAÇÃO: - criar a tabela imagens_nova com o SQL abaixo
CREATE TABLE IF NOT EXISTS `imagens_nova` ( `img_cod` int(4) NOT NULL AUTO_INCREMENT, `img_oco` int(4) DEFAULT NULL, `img_nome` varchar(250) NOT NULL, `img_tipo` varchar(20) NOT NULL, `img_size` bigint(15) DEFAULT '0', PRIMARY KEY (`img_cod`), KEY `img_oco` (`img_oco`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Tabela de imagens anexas aos chamados' ;
- criar a tabela assentamentos_imagens_nova com o SQL abaixo
CREATE TABLE IF NOT EXISTS `assentamentos_imagens_nova` ( `id_ai` int(7) NOT NULL AUTO_INCREMENT, `id_assentamentos` int(7) NOT NULL, `img_nome` varchar(250) NOT NULL, `img_tipo` varchar(20) NOT NULL, `img_size` bigint(15) DEFAULT '0', PRIMARY KEY (`id_ai`), KEY `id_assentamentos` (`id_assentamentos`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
- Alterar o arquivo includes/config.inc.php e nas linhas: 10: definir o nome de usuário para conectar ao seu banco de dados 13: definir a senha para conectar ao seu banco de dados 17: definir o nome do banco do seu ocomon 20: novamente o nome do banco de dados
Desta forma já deve funcionar!
OBS: caso não funcione a inclusão de arquivos após estes passos, é provável que o problema seja as permissões das pastas imagens_ocomon e assentamentos (subpasta de imagens_ocomon). Cheque estas permissões. Apesar de não ser uma boa prática, chmod -r imagens_ocomon pode resolver
Alguem ainda tem esses arquivos modificados? Agradeço se possível postá-los aki, obrigado. Atenciosamente, Daniel Roger | |
|
FabioRK
Mensagens : 378 Data de inscrição : 14/09/2009 Idade : 44 Localização : Carazinho - RS
| Assunto: Re: Arquivos anexos só aceita até 1MB Qua Set 21, 2016 9:23 am | |
| A questão de arquivos somente até 1MB é porque este tamanho está fixo no código. Precisa editar todos os arquivos que fazem upload de arquivos (incluir.php, encaminhar.php, encerramento.php). Localizar o seguinte código: - Código:
-
$image = addslashes(fread(fopen($fileinput,"r"), 1000000)); E trocar para: - Código:
-
$image = mysql_real_escape_string(fread(fopen($fileinput,"rb"), filesize($fileinput))); | |
|
Conteúdo patrocinado
| Assunto: Re: Arquivos anexos só aceita até 1MB | |
| |
|