Ir para conteúdo

POWERED BY:

Arquivado

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

Lucas Fernando

[Resolvido] Tamanho de Upload

Recommended Posts

E ai pessoal bom dia.

 

Estou me deparando com um pequeno problema, tenho um gerenciador de uploads que no php.ini está configurado para aceitar até 100MB.

 

No entanto se o Usuário colocar um arquivo maior não retorna erro algum, estava querendo validar em javascript mais não estou conseguindo.

 

pesquisei bastante só encontrei uma forma usando o activex mais não funciona alguem tem uma ideia pra mim XD ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é impossível validar com javascript, pois js não tem esse tipo de acesso à máquina do usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é impossível validar com javascript, pois js não tem esse tipo de acesso à máquina do usuário.

 

É realmente você tem razão, começei a tentar validar do lado do servidor mais tbm não to conseguindo

 


<?php
session_start('user');
$user=$_SESSION['user'];
if ($user['tipo_user']<>1)
{
// mensagens que aparecem caso o usuário tente acessar pela url paginas não permitidas.
header("Location:../../error.php");
echo "<script language='javascript'>alert('Ação não permitida'); window.location.href = '../../index.php'</script>";
//header('Content-Type: text/html; charset=ISO-8859-1');
}
?>
<?php
//sleep(0); 
include "../../conexao.php"; // conexão com o bd



@$arquivo         = $_FILES['upload_tamanho'];



//------------------------------------ arquivo ------------------------------------------------
// Se o arquivo estiver sido selecionado
if (@!empty($arquivo['name'])) {


	// Tamanho máximo do arquivo em bytes
	$tamanho = 2000;


	// Verifica se o tamanho do arquivo é maior que o tamanho permitido
	if($arquivo['size'] > $tamanho) {
  		 	echo "<script language='javascript'>alert('o arquivo deve ter no máximo ".$tamanho." bytes); window.location.href = 'material.php'</script>";
	}
}

//-------------------------- Update de arquivo -------------------------------- 
@$nome            = $_FILES['upload_tamanho']['name'];
@$titulo          = $_POST['upload_titulo'];
@$cod_tur_prof_fk = $_POST['cod_tur_prof_fk'];
@$cod_turma_fk    = $_POST['cod_turma_fk'];
@$conteudo        = $_FILES['upload_tamanho']['name'];

@$tipo            = $_FILES['upload_tamanho']['type'];

@$tmp             = $_FILES['upload_tamanho']['tmp_name'];
@$destino         = "../../upload/". $conteudo;

     if(isset($_POST['adicionar'])){

	  if(@$_GET['funcao'] == "inserir"){
			$sqlbusca = mysql_query("SELECT * FROM upload WHERE upload_nome = '$nome'");
               $verificanome = mysql_num_rows($sqlbusca);

//condição que ira verificar se o material já está cadastrado

   if($verificanome == 0){

	  if(move_uploaded_file($tmp, $destino)){

		  $cadastro = mysql_query("INSERT INTO upload VALUES (0,'$cod_tur_prof_fk','$cod_turma_fk','$nome','$titulo','$conteudo','$tipo')") or die (mysql_error());

	echo "<script language='javascript'>alert('Arquivo gravado com sucesso'); window.location.href = 'material.php'</script>";

	  }else{
		  echo "<script language='javascript'>alert('Erro: não foi possivel gravar o arquivo'); window.location.href = 'material.php'</script>";
	  }
	  }else{
	  echo "<script language='javascript'>alert('Erro: altere o nome do arquivo'); window.location.href = 'material.php'</script>";
	  }
	  }
  }

//-------------------------------------------------

//função responsavel por excluir, o unlink é responsavel por pegar o arquivo armazenado na pasta e exclui-lo junto com o registro
else if($_GET['funcao'] == "excluir"){
$pega_id = $_GET['upload_id'];
$pega_nome         = $_GET['upload_nome'];
unlink("../../upload/".$pega_nome);
print $pega_id . $pega_nome;

$sql_del = mysql_query("DELETE FROM upload WHERE upload_id= '$pega_id'");


echo "<script language='javascript'>alert('material removido com sucesso'); window.location.href = 'material.php'</script>";


//}else {
//echo "<script language='javascript'>alert('Não foi possível remover o material!!!')</script>";
}










?>


 

 

Alguma idéia do que pode estar errado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem esse post que faz a validação tanto de tamanho, quanto da extensão. No final o arquivo de upload é enviado por e-mail, tira essa última funcionalidade que vai funcionar bem para você. Se precisar de ajuda para tirar a parte do e-mail, pode falar comigo que eu te ajudo.

 

Veja se isso te ajuda.

Link não autorizado removido

Compartilhar este post


Link para o post
Compartilhar em outros sites

é impossível validar com javascript, pois js não tem esse tipo de acesso à máquina do usuário.

 

Logo logo isso não será mais realidade: http://www.w3.org/TR/FileAPI/#dfn-Blob :seta: http://www.html5rocks.com/en/tutorials/file/dndfiles/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem esse post que faz a validação tanto de tamanho, quanto da extensão. No final o arquivo de upload é enviado por e-mail, tira essa última funcionalidade que vai funcionar bem para você. Se precisar de ajuda para tirar a parte do e-mail, pode falar comigo que eu te ajudo.

 

Veja se isso te ajuda.

Link não autorizado removido

 

não to conseguindo fazer funcionar tbm !!!

 

na logica q estava seguindo a parte que verifica o tamanho seria essa

 

@$arquivo         = $_FILES['upload_tamanho'];



//------------------------------------ arquivo ------------------------------------------------
// Se o arquivo estiver sido selecionado
if (@!empty($arquivo['name'])) {


	// Tamanho máximo do arquivo em bytes
	$tamanho = 2000;


	// Verifica se o tamanho do arquivo é maior que o tamanho permitido
	if($arquivo['size'] > $tamanho) {
  		 	echo "<script language='javascript'>alert('o arquivo deve ter no máximo ".$tamanho." bytes); window.location.href = 'material.php'</script>";
	}
}


 

no entanto o php simplesmente ignora, não sei porque ... puxa vida o que será q ta faltando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem certeza que o problema não é do seu php?

 

Você já testou local e online e dá o mesmo problema?

 

tava sendo um problema com os if, else XD.

 

Dei uma alterada no codigo é ficou assim.

 

if(isset($_POST['adicionar'])){

	  if(@$_GET['funcao'] == "inserir"){
			$sqlbusca = mysql_query("SELECT * FROM upload WHERE upload_nome = '$nome'");
               $verificanome = mysql_num_rows($sqlbusca);
	       //condição que ira verificar se o material já está cadastrado
              if($verificanome == 0){
	  if(move_uploaded_file($tmp, $destino)){

		  $cadastro = mysql_query("INSERT INTO upload VALUES (0,'$cod_tur_prof_fk','$cod_turma_fk','$nome','$titulo','$conteudo','$tipo')") or die (mysql_error());

	echo "<script language='javascript'>alert('Arquivo gravado com sucesso'); window.location.href = 'material.php'</script>";


	  }
	  }else{
	  echo "<script language='javascript'>alert('Erro: Esse arquivo já existe! altere o nome e tente novamente'); window.location.href = 'material.php'</script>";
  }
    }	  
}else{
		  echo "<script language='javascript'>alert('Erro: Tamanho do arquivo ultrapassa o limite permitido'); window.location.href = 'material.php'</script>";
	  }

 

Não é uma grande solução mais já resolve um pouco o meu problema.

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.