Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandre Carmo

Tamanho máximo para arquivo.

Recommended Posts

Boa tarde

 

Pessoal estou com um problema para fazer upload de arquivo usando php, não sei se o erro é realmente de php ou se é de html, consigo fazer o upload de qualquer arquivo de até 10 megas ou pouco mais, porém estou precisando subir arquivos de 30 megas, o que ocorre é que ele me apresenta a mensagem de que não foi selecionado arquivo, isso quando seleciono arquivo grande, porém aruqivos até 10 megas não apresenta esse problema, veja o código:

 

html:

<form action="upload.php" id="form" name="form" method="post" enctype="multipart/form-data">
               <b>Enviar imagem (tamanho máximo de 30 MB; tipos de arquivos permitidos: PDF):</b><br />
               <input type="file" name="DfAnexo" size="50" />
			<input type="hidden" name="chamado" id="chamado" value="teste.pdf" />
               <input name="submit" type="submit" value="Enviar" class="formbutton" />

           </form>

 

php:

<?
$chamado = $_POST["chamado"];

       //cria o diretório
       if(!is_dir("../chamados/pdf/$chamado_endereco")){mkdir("../chamados/pdf/$chamado_endereco", 0777);}

#Declaramos de onde estaremos recebendo o anexo (que será através da variável ($_FILES) de envio de arquivos por HTTP)
$DfAnexo = $_FILES["DfAnexo"]["name"];

#Se nenhum arquivo for selecionado para ser enviado, exibe a mensagem de erro abaixo
if(empty($DfAnexo)) 
{
	print "<script> alert('Nenhum arquivo foi selecionado para ser enviado. $DfAnexo $chamado ffff'); window.history.go(-1); </SCRIPT>\n";
	exit;

}
#Caso contrário, o arquivo é checado para ser processado
else 
{
	#Declaramos um tamanho máximo para o envio do anexo em bytes (setamos como sendo 5120000 bytes (que é igual a 5 MB))
	#Se o anexo for maior que 5 MB, exibe a mensagem de erro abaixo e termina a execução do script
	if($_FILES["DfAnexo"]["size"] > 30024000) 
	{
		print "<script> alert('Seu anexo não poderá ser maior que 30 MB!'); window.history.go(-1); </SCRIPT>\n";
		exit;
	}
	#Caso contrário, o arquivo continua a ser processado
	if(!empty($_FILES["DfAnexo"]["tmp_name"]) and is_file($_FILES["DfAnexo"]["tmp_name"])) 
	{
		#Declaramos a pasta aonde o arquivo será salvo (esta pasta deve estar com chmod 777)
		$caminho = "../chamados/pdf/";

		#Re-declaramos a pasta aonde o arquivo será salvo, desta vez inserindo junto a ela o nome do arquivo
		$caminho = $caminho.$chamado_endereco.$chamado;

		#Declaramos os tipos de extensões aceitas para o envio do anexo
		if(eregi(".pdf$", $_FILES["DfAnexo"]["name"])) {
			#Copiamos o arquivo para a pasta setada mais acima
			copy($_FILES["DfAnexo"]["tmp_name"],$caminho);

			print "<script> alert('Arquivo enviado com sucesso!'); window.history.go(-1);  </SCRIPT>\n";
			exit;

		}
		#Se o anexo não tiver uma extensão aceita, exibe a mensagem de erro abaixo e termina a execução do script
		else 
		{
			print "<script> alert('Extensão inválida de arquivo!'); window.history.go(-1); </SCRIPT>\n";
			exit;

		}
	}
	#Se o anexo tiver sido indicado através de um caminho inválido ou tenha um nome inválido, exibe a mensagem de erro abaixo e termina a execução do script
	else 
	{

		print "<script> alert('Caminho e/ou nome de anexo inválido!'); window.history.go(-1); </SCRIPT>\n";
		exit;
	}
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala cara beleza, então entrei do php.ini e alterei a seguinte linha:

De:

upload_max_filesize = 2M

Para:

upload_max_filesize = 35M

 

reiniciei o apache mas continua com o mesmo problema apenas faz uploads de arquivos pequenos. Tem algum outro lugar que deva ser feito alteração?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.