Ir para conteúdo
Fórum Script Brasil
  • 0

Alterar Limite Upload


D31v1d1

Pergunta

Boa tarde.

Estou tendo problemas com um sistema de ftp que estou montando, não consigo enviar arquivos maiores de 3mb da conexão reiniciada.

Tentei usar o php.ini com o seguinte código

post_max_size = 10M
upload_max_filesize = 10M
e também já tentei usando .htaccess mas da erro 500 alguma coisa assim trabalho com a webinhost, o código que está sendo utilizado segue abaixo. A página up.php abre em forma de popup para receber o arquivo a ser enviado.
<?php
ob_start();
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>(Gerenciador FTP)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>

&lt;script type="text/javascript">
$(document).ready(function() {  
        $('a[name=modal]').click(function(e) {
                e.preventDefault();
                var id = $(this).attr('href');
                var maskHeight = $(document).height();
                var maskWidth = $(window).width();
                $('#mask').css({'width':maskWidth,'height':maskHeight});
                $('#mask').fadeIn(1000);        
                $('#mask').fadeTo("slow",0.8);  
                var winH = $(window).height();
                var winW = $(window).width();     
                $(id).css('top',  winH/2-$(id).height()/2);
                $(id).css('left', winW/2-$(id).width()/2);
                $(id).fadeIn(2000); 
        });
        $('.window .close').click(function (e) {
                e.preventDefault();
                $('#mask').hide();
                $('.window').hide();
        });             
        $('#mask').click(function () {
                $(this).hide();
                $('.window').hide();
        });                     
});
</script>
&lt;script language="Javascript">
        function teste()
        {
                if (document.upload.arquivo.value=="")
                {
                        alert("Arquivo para upload não informado!")
                        document.upload.arquivo.focus()
                        return false
                }
        }
</script>
<style type="text/css">
@charset "utf-8";
/* CSS Document */
*{margin:0px; padding:0px; border:0px;}
body {
font-family:tahoma;
font-size:13px;
margin:0 auto; background:url(../../img/bgfundo.jpg); background-repeat: no-repeat; background-position: top center;
}
a {color:#333; text-decoration:none}
a:hover {color:#ccc; text-decoration:none}
#mask {
  position:absolute;
  left:0;
  top:0;
  z-index:9000;
  background-color:#000;
  display:none;
}
#boxes .window {
  position:absolute;
  left:0;
  top:0;
  width:440px;
  height:200px;
  display:none;
  z-index:9999;
  padding:20px;
}
#boxes #dialog {
  width:200px; 
  height:35px;
  padding:15px;
  background-color:#ffffff;
  text-align:center;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
}
</style>
&lt;script>
function enviar_formulario(){
   document.upload.submit()
}
</script>
</head>
<body onunload="window.opener.location.reload()">
<center>
<br /><br /><br /><br /><h4>Selecione um arquivo</h4>
<?php
if(!isset($_SESSION['nivel_usuario'])) {
        header("Location: ../../index.php");
}
?><br /><br />
<form name="upload" action="upload.php?pg=<?php echo $_SESSION['dir']; ?>" method="post" enctype="multipart/form-data" onsubmit="return teste()" id="arquivo">
<input name="arquivo" type="file" id="arquivo" size="60"><br /><br />
<ul>
<a href="#dialog" onclick="java script:enviar_formulario()" name="modal"><img src="../../img/benviar.png" width="147" height="24" alt="Enviar Arquivo" title="Enviar Arquivo" /></a>
</ul>
</form>
</center>
<div id="boxes">
<div id="dialog" class="window" align="center">
<img src="loading.gif" width="16" height="16" /><br />
<p align="center"><font face="Tahoma, Geneva, sans-serif" size="1" color="#666666">Aguarde a finalização do envio...</font></p>
</div>
<div id="mask"></div>
</div>    
</body>
</html>
upload.php é o responsável pelo envio
<?php
ob_start();
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
&lt;script language="Javascript" type="text/Javascript">
<!--
function close_window() {
    window.close();
}
//-->
</script>
<style type="text/css">
@charset "utf-8";
/* CSS Document */
*{margin:0px; padding:0px; border:0px;}
body {
font-family:tahoma;
font-size:13px;
margin:0 auto; background:url(../../img/bgfundo.jpg); background-repeat: no-repeat; background-position: top center;
}
a {color:#ffffff; text-decoration:none}
a:hover {color:#ffffff; text-decoration:none}
</style>
</head>
<body>
<?php
if(!isset($_SESSION['nivel_usuario'])) {
        header("Location: ../../index.php");
}
$dir = str_replace("//", "/", $_SESSION['dir']);
$diretorioDestino = $dir."/"; 

if(!file_exists($diretorioDestino)){
        mkdir($diretorioDestino);
}
$img = $_FILES['arquivo'];
$tmp = $img['tmp_name'];
$nome = $img['name']; 
$tamanho = $img['size'];
$enviado = false;
if ($tamanho<=1024*10000)
        $enviado = move_uploaded_file($tmp, $diretorioDestino.$nome);
if ($enviado)
        echo "<center><br /><br /><br /><br /><font color='#000000' size='2' face='Georgia'>Arquivo enviado com sucesso!</font><br /><br /><a href='up.php'><img src='../../img/voltar.png' width='32' height='32' alt='Adicionar Mais' /></a><a href=\"java script:;\" onclick=\"close_window()\"><img src='../../img/deletar.png' width='32' height='32' alt='Fechar Janela' /></a></center>";
else
        echo "<center><br /><br /><br /><br /><font color='red' size='2' face='Georgia'>Erro ao enviar o arquivo!</font><br /><br /><a href='up.php'><img src='../../img/voltar.png' width='32' height='32' alt='Adicionar Mais' /></a><a href=\"java script:;\" onclick=\"close_window()\"><img src='../../img/deletar.png' width='32' height='32' alt='Fechar Janela' /></a></center>";
?>
</body>
</html>

Já tentei de tudo mas não consigo enviar arquivos maiores, alguém pode me ajudar?

Att

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Para mudar o 'php.ini' você deve ter acesso total ao servidor alguns poucos host permite subir um arquivo com o nome 'php.ini' ou algum '.htacces' que permite mudar as parametros das configurações do PHP ... em geral elas são bloquedas ou não possíveis.

Não conheço esse 'webinhost' então não posso afirmar se tem ou não a trava na dúvida entre em contato com eles ...

Só uma pequena dica isso que está fazendo não tem nada aver com FTP isso é um upload normal via POST se quiser fazer um usando de fato protocolos de FTP terá que usar outras funções de uma olhada :P

http://www.php.net/manual/pt_BR/book.ftp.php

Link para o comentário
Compartilhar em outros sites

  • 0

O problema persiste com arquivos menores? se sim, tente entrar em contato com os responsáveis pela hospedagem.

Se não, então o problema é contigo meu chapa!

Tenta dar uns ECHO's nas variáveis, tipo o caminho do upload, às vezes ele tá errado...

você viu se o próprio nome do arquivo está certo? Lembre-se que para fazer o upload, o arquivo novo deve possuir a extensão também. Não adianta só você fazer:

move_uploaded_file($tmp, $pasta.$nome);
se a variavél $nome não estiver no formato: "nome.ext". Tipo, se for uma imagem, tem que ficar: "imagens/imagem1.jpg", por exemplo. Não precisa ficar em JPG, mas tem que ter a extensão... verifica todas as variáveis. Se ainda der erro a gente tá falando de coisa grande... tipo, ou a sua conexão tá lenta ou não é boa o suficiente pra se manter estável durante todo o envio do arquivo, e aí o arquivo fica corrompido ou o servidor reinicia a conexão. Ou então, mesmo se você tiver colocado o
post_max_size = 10M
upload_max_filesize = 10M

no php.ini eu acho que isso não funciona se o safe_mode do PHP estiver habilitado. Use a função phpinfo() para verificar as configurações do seu servidor...

Tenta essas coisas e posta aí...

Link para o comentário
Compartilhar em outros sites

  • 0

Disse que estou montando um sistema de ftp, que funciona da seguinte forma o usuario pode criar uma pasta e dentro da pasta mandar seus arquivos para minha empresa, isso realmente funciona perfeitamente com arquivos pequenos de até 3mb, já enviei para teste musicas fotos e documentos mas quando tento enviar qualquer outro arquivo maior que 3mb está dando "Conexao reiniciada", já testei em outros computadores e internetes diferentes.

Os nomes dos arquivos que vão para o servidor estão corretos com os formatos e tudo certo, deixei a opção para fazer download dos arquivos e nunca deu problemas nos arquivos.

Editado por D31v1d1
Link para o comentário
Compartilhar em outros sites

  • 0

Então o problema deve ser com o servidor como eu falei.

"Ou então, mesmo se você tiver colocado o

post_max_size = 10M
upload_max_filesize = 10M

no php.ini eu acho que isso não funciona se o safe_mode do PHP estiver habilitado. Use a função phpinfo() para verificar as configurações do seu servidor..."

Se não funcionar, contate o administrador de hospedagem e peça pra ele fazer testes com arquivos maiores que 3Mb. E veja se a função phpinfo() mostra que as variáveis de post_max_size e upload_max_filesize estão realmente com os valores que você setou.

Link para o comentário
Compartilhar em outros sites

  • 0

Coloquei novamente o php.ini com valores de 20M e conferi no phpinfo e deu certo, e alterou os valores como indiquei coloquei também o safe_mode como On e alterou também.

Mas fui testar, enviei arquivos de até 3.2 mb acima disso não consigo enviar da conexão reiniciada.

Editado por D31v1d1
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...