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

Upload!


Guest - Lucas -

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0

isso é restrição do servidor... o padrão que eu saiba é 2mb...

você pode estar mudando a opção "upload_max_filesize = 8M" no php.ini

Link para o comentário
Compartilhar em outros sites

  • 0

Esse é o arquivo upload.php

<?

//session_start();

//if(!isset($_SESSION["login"]) || !isset($_SESSION["senha"])){

//header ("Location: login.php");

//}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

  <title>AR9 Sistemas de Medicina e Segurança do Trabalho - Downloads (Continuação)</title>

  <meta http-equiv=Content-Type" content="text/html; charset=iso-8859-1">

  <script language="JavaScript" type="text/JavaScript" src="funcoes.js">

  </script>

  <link href="sttils.css" rel="stylesheet" type="text/css">

</head>

<body background="bg_ar9_2.gif" onLoad="MM_preloadImages('btn_ar9_on.gif','btn_medtrab_on.gif','btn_downloads_on.gif','btn_clientes_on.gif','btn_contato_on.gif','btn_anterior02.gif','btn_home02.gif')">

  <!-- topo animado da pagina -->

  <div id="Layer1" style="position:absolute; width:200px; height:110px; z-index:1; left: 0; top: 0; visibility: visible;">

  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="780" height="140">

    <param name="movie" value="topo_ar9.swf">

    <param name="quality" value="high">

    <embed src="topo_ar9.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="780" height="140">

    </embed>

  </object>

  <!-- fim do topo animado da pagina -->

  <!-- gif's animados do lado esquerdo da pagina -->

<!--  <div id="Layer2" style="position:absolute; width:131px; height:134px; z-index:1; left: 21px; top: 161px;">

    <table width="29%" border="0" cellspacing="0" cellpadding="0">

    <tr>

      <td width="28%">

      <img src="anima1.gif" width="60" height="60" hspace="7">

      </td>

      <td width="72%">

      <img src="anima2.gif" width="60" height="60" vspace="3">

        <br>

        <img src="anima3.gif" width="60" height="60" vspace="2">

      </td>

    </tr>

    </table>

  </div> -->

  <!-- encerrando gif's animados do lado esquerdo da pagina -->

  </div>

  <!-- menu e logo branco ar9 do lado direito da pagina -->

  <div id="Layer3" style="position: absolute; left: 654; top: 147; width: 124; height: 373; z-index: 2">

  <p>

    <a href="a_ar9.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image6','','btn_ar9_on.gif',1)">

    <img src="btn_ar9_off.gif" name="Image6" width="122" height="32" border="0">

    </a>

    <a href="medtrab.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image7','','btn_medtrab_on.gif',1)">

    <img src="btn_medtrab_off.gif" name="Image7" width="122" height="29" border="0">

    </a>

    <a href="downloads.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image8','','btn_downloads_on.gif',1)">

    <img src="btn_downloads_off.gif" name="Image8" width="122" height="30" border="0">

    </a>

    <a href="clientes.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image14','','btn_clientes_on.gif',1)">

    <img src="btn_clientes_off.gif" name="Image14" width="122" height="27" border="0">

    </a>

    <a href="links.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image13','','btn_links_on.gif',1)">

    <img src="btn_links_off.gif" name="Image13" width="122" height="29" border="0">

    </a>

    <a href="contato.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image10','','btn_contato_on.gif',1)">

    <img src="btn_contato_off.gif" name="Image10" width="122" height="35" border="0">

    </a>

  </p>

  <p>

    <a href="index2.html">

    <img src="ar_branco.jpg" border="0" width="113" height="73">

    </a>

  </p>

  <p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="upload.php"><font color="#FFFF00" face="Arial" size="4">Uploads</font></b></a>

  </p>

  </div>

  <!-- fim menu e logo -->

  <table width="667" border="0" cellpadding="5" cellspacing="0" class="medtrab">

  <tr>

    <td width="25%">&nbsp;

    </td>

    <td width="64%">&nbsp;

    </td>

    <td width="11%">&nbsp;

    </td>

  </tr>

  <tr>

    <td>&nbsp;

    </td>

    <td>

    <p>&nbsp;

    </p>

    <p>&nbsp;

    </p>

    <p>&nbsp;

    </p>

    <table width="100%" border="0" cellspacing="0" cellpadding="0">

      <tr>

      <td>

        <form action="" method="post" enctype="multipart/form-data" name="form1">

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<table width="350" border="0" cellspacing="0" cellpadding="0">

  <tr>

    <td width="01"></td>

    <td width="320"><input type="file" name="file">

  <input type="hidden" name="MAX_FILE_SIXE" value="30000"></td>

  </tr>

  <tr>

    <td width="01"></td>

    <td width="320"><input name="enviar" type="submit" id="Enviar" value="Enviar"></td>

  </tr>

</table>

</form>

      </td>

      </tr>

    </table>

    <br><br><br><br><br><br><br><br><br><br><br><br>

    <!-- botão voltar no fim da pagina -->

    <table width="100%" border="0" cellspacing="0" cellpadding="0">

      <tr>

      <td width="85%">&nbsp;

      </td>

      <td width="6%">

        <a href="javascript:history.back(1)" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image11','','btn_anterior02.gif',1)">

        <img src="btn_anterior01.gif" name="Image11" width="46" height="35" border="0">

        </a>

      </td>

      </tr>

    </table>

    <!-- fim do botão voltar -->

    </td>

    <td>&nbsp;

    </td>

  </tr>

  </table>

</body>

</html>

<?

if(getenv("REQUEST_METHOD") == "POST") {

$file_nome = $_FILES['file]['name'];

$file_tipo = $_FILES['file']['type'];

$file_tmp = $_FILES['file']['tmp_name'];

$file_tamanho = $_FILES['file']['size'];

$file_erro = $_FILES['file']['error'];

$tipos = array(1=>"dbf",2=>"nsx",3=>"smt",4=>"pdf",5=>"doc",6=>"001",7=>"txt",8=>"prn",9=>"xls",10=>"zip",11=>"rar",12=>"tab",13=>"exp",14=>"ini");//permissoes de arquivos!! caso queira outro é so add ,6=>"exe" por ex

$maximo = 30000000000000000000000000;

$nome_min = explode(".", strtolower($file_nome));

$nome_ext = $nome_min[1];

$dir = "uploads/";// diretorio onde vão os arquivos

if($file_nome > $maximo) {

echo "O arquivo é maior que o permitido. Este arquivo não poderá ser enviado";

exit;

}

elseif(!in_array($nome_ext,$tipos)){

echo "Somente arquivos do MedTrab ou referentes a AR9 poderão ser enviados!";

exit;

}

else{

$new_nome = strtolower($file_nome);//bota o nome do arquivo em minusculo

$new_dir = $dir;

//chmod("$new_dir", 0777);///altera a permissão do diretorio criado

$new_file = $new_dir."/".$new_nome;

if($file_erro == 0){

if(move_uploaded_file($file_tmp, $new_file)){

  echo "<b>Arquivo enviado com sucesso!</b>";

}else{

  echo "<b>Houve uma falha na transferência do arquivo.";

  exit;

}

}elseif($file_erro == 4){

echo "Ocorreu um erro que impediu o início da transferência do arquivo.";

echo "<br />\r\nNúmero do erro: 4. A transferência não pode ser iniciada!";

exit;

}elseif($file_erro == 3){

echo "Ocorreu um erro durante a transferência do arquivo. O arquivo foi parcialmente carregado. A repetição da transferência pode resolver o problema. Se estiver com problemas na conexão, tente novamente quando a mesma se estabilizar!";

echo "<br />\r\n Número do erro: 3. A transeferência foi feita parcialmente!";

exit;

  }

}

}

?>

O arquivo php.ini está assim:

;;;;;;;;;;;;;;;;

; File Uploads ;

;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.

file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not

; specified).

;upload_tmp_dir =

; Maximum allowed size for uploaded files.

upload_max_filesize = 32M

Ele está com 32M, eu já tinha verificado essa possibilidade, mas ele só envia até 8MB mesmo, o que pode ser?????

Link para o comentário
Compartilhar em outros sites

  • 0

hm.. eu axo que já notei isso tb.. mas agora não lembro o motivo.. vou tentar encontrar.. se achar posto aqui!

vlw

Link para o comentário
Compartilhar em outros sites

  • 0

olá, desculpe mas não achei nada a respeito!

se você vai ter que hospedar isso algum servidor, contate o suporte do seu servidor de hospedagem que eles te dirão o problema e talvez uma solução!

eu já algumas vezes aqui e não obtive resposta.. mas nunca chinguei o forum por isso... tenho certeza que quando não se tem resposta é porque ngm sabe a respeito... então ngm tem culpa de não poder te ajudar!

falou

Link para o comentário
Compartilhar em outros sites

  • 0
olá, desculpe mas não achei nada a respeito!

se você vai ter que hospedar isso algum servidor, contate o suporte do seu servidor de hospedagem que eles te dirão o problema e talvez uma solução!

eu já algumas vezes aqui e não obtive resposta.. mas nunca chinguei o forum por isso... tenho certeza que quando não se tem resposta é porque ngm sabe a respeito... então ngm tem culpa de não poder te ajudar!

falou

concordo

Link para o comentário
Compartilhar em outros sites

  • 0

olá, desculpe mas não achei nada a respeito!

se você vai ter que hospedar isso algum servidor, contate o suporte do seu servidor de hospedagem que eles te dirão o problema e talvez uma solução!

eu já algumas vezes aqui e não obtive resposta.. mas nunca chinguei o forum por isso... tenho certeza que quando não se tem resposta é porque ngm sabe a respeito... então ngm tem culpa de não poder te ajudar!

falou

concordo

Êpa, não xinguei ninguém, só perguntei se alguém não ia me ajudar porque ficaram todos mudos e o tópico vai afundando e ficando esquecido.

To meio que deseperados atraz disso kras, já pesquisei un monte de foruns e não acho solução, até que achei isso:

Kras não tem jeito, já usei um monte de formularios de todos os tipos e não envia mais de 8 MB de jeito nenhum, deve ser alguma coisa do PHP.

Olha, achei um sisteminha de FTP estilo upload, só que tá dando um erro na hora da conexão quando ele tenta conectar no FTP com o login e senha, vê se tu consegue descobrir o que é, vou postar o codigo e o erro aí.

OBS: o login e a senha do FTP que estão no codigo é de quem eu peguei na net, mas botei o meu e dá o mesmo erro, então acredito que não seja login ou senha errados.

grato!!!

O erro =>

teste, o upload do arquivo apache_pb.gif foi feito com sucesso!

Warning: Unable to find ftpbuf 0 in c:\apache\htdocs\temp\form.php on line 84

A conexão FTP ao servidor ftp.ar9.com.br com o usuário ar9 falhou!

E o codigo =>

<html>

<head>

<title>Páginas dinâmicas com PHP e MySQL - IME-USP - 2005 - Exercício 10</title>

</head>

<body text="#0066CC">

<?

    # Páginas Dinâmicas com PHP e MySQL

    # Verão IME-USP - 2005

    # http://cursophp.thiagorodrigo.com.br/

    #

    # Exercício 10 - Upload de arquivos

    $ConexaoFTP[servidor] = 'ftp.thiagorodrigo.com.br';

    $ConexaoFTP[usuario] = 'thiagoro';

    $ConexaoFTP[senha] = 'xpto';

    # carrega formulário de mensagem

    function CarregaFormulario () {

        # recupera, quando há erro na validação, dados submetidos

        # quando é o primeiro carregamento, imprime formulário vazio

        global $_POST;

        # imprime formulário

        print '<form name="form" action="'.$_SERVER[php_SELF].'" method="POST" enctype="multipart/form-data">Nome<br><input name="nome" size="30" value="'.$_POST[nome].'" style="border: 1pt solid #222222; background-color: #EFEFFE; color: #660066; width: 250px; height: 20px;"><br><br>Arquivo<br><input type="file" size="30" name="arquivo" value="" style="border: 1pt solid #222222; background-color: #EFEFFE; color: #660066; width: 300px; height: 20px;"><br><br><input type="submit" value="Enviar dados" style="border: 1pt solid #222222; background-color: #444444; color: #EEEEEE; width: 200px; height: 20px;"></form>';

    }

    # confere formulário de mensagem

    function ConfereFormulario () {

        # recupera dados submetidos

        global $_POST, $_FILES;

        $e = 0; // contador de erros

        # valida nome

        if ($_POST[nome] == '')

            $erros[$e++] = "Nome em branco.";

        # valida arquivo

        if (strlen($_FILES[arquivo][name]) < 2)

            $erros[$e++] = "Não há arquivo anexado";

        else {

            if ($_FILES[arquivo] > 524288)

                $erros[$e++] = "Arquivo com tamanho superior a 512KB";

            if (eregi ("^(.+)\.(gif|jpg|png|jpeg|jpe)$", $_FILES[arquivo][tmp_name]))

                $erros[$e++] = "Arquivo com extensão não permitida.";

        };

        # imprime os erros, caso eles existam

        if ($e > 0) {

            print '<ul>'."\n";

            for ($p = 0; $p < $e; $p++)

                print '<li><font color="red">'.$erros[$p].'</font></li>'."\n";

            print '</ul>'."\n";

            return FALSE;

        };

        return TRUE;

    }

    # grava formulário em um arquivo de log (ou pode enviar para um e-mail)

    function GravaFormulario () {

        # recupera dados submetidos

        global $_POST, $_FILES, $ConexaoFTP;

        $uploaddir = 'upload/';

        # salva arquivo "uploadeado"

        if (move_uploaded_file($_FILES[arquivo][tmp_name], $uploaddir.$_FILES[arquivo][name].'.tmp'))

            print '<p><b>'.$_POST[nome].'</b>, o upload do arquivo <b>'.$_FILES[arquivo][name].'</b> foi feito com sucesso!</p>';

        # envio via FTP

        // Cria a conexão

        $conn_id = ftp_connect($ConexaoFTP[servidor]);

        // login com o nome de usuário e senha

        $login_result = ftp_login($conn_id, $ConexaoFTP[usuario], $ConexaoFTP[senha]);

        // confere a conexão

        if ((!$conn_id) || (!$login_result)) {

            print '<p>A conexão FTP ao servidor '.$ConexaoFTP[servidor].' com o usuário '.$ConexaoFTP[usuario].' falhou!</p>';

            return FALSE;

        }

        else {

            echo '<p>Conectado ao servidor '.$ConexaoFTP[servidor].'.</p>';

        };

        // carrega o arquivo

        $upload = ftp_put($conn_id, $uploaddir.$_FILES[arquivo][name], $uploaddir.$_FILES[arquivo][name], FTP_BINARY);

        // confere o upload do arquivo

        if (!$upload) {

            echo '<p>O upload FTP falhou!</p>';

            return FALSE;

        }

        else {

            echo '<p>O arquivo foi carregado com sucesso!</p>';

        };

        // fecha a conexão FTP

        ftp_close($conn_id);

        # envia dados por e-mail (com comentário, para evitar tentativas de SPAM)

        $destinatario = 'cursophp@thiagorodrigo.com.br';

        $assunto = 'Formulário - Upload de arquivo';

        $mensagem = 'Nome: '.$_POST[nome]."\n".'Arquivo: '.$_FILES[arquivo][name]."\n";

        $cabecalho = 'From: '.$_POST[nome].' <'.$_POST.'>'."\r\n".'Reply-To: '.$_POST[nome].' <'.$_POST.'>'."\r\n";

        // mail($destinatario, $assunto, $mensagem, $cabecalho);

    }

    # carregamento e processamento do formulário utilizando as funções já definidas acima

    if ($_SERVER[REQUEST_METHOD] == 'GET') {

        CarregaFormulario();

    }

    elseif ($_SERVER[REQUEST_METHOD] == 'POST') {

        if (ConfereFormulario()) {

            GravaFormulario();

        }

        else {

            CarregaFormulario();

        };

    };

?>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

você está fazendo isso local?

se for, o seu servidor local tem que estar configurador pra rodar FTP..

não posso analizar isso agora!! de mais uma pesquisada.. e tente falar com alguém de suporte de hospedagem!

falou

Link para o comentário
Compartilhar em outros sites

  • 0

Velho, quanto ao seu script inicial, você poderia tentar setar o tempo limite de execução do php para infinito caso n esteja, pois 32 MB pode demorar um pouquinho pra executar biggrin.gif

Essa sua linha tb me cheira a 3 MB só sad.gif

<input type="hidden" name="MAX_FILE_SIXE" value="30000">

O PHP consegue gerenciar até 2GB se iver memória no servidor biggrin.gif ele é o cara ;p

Postei só a nível de estudo mesmo... se queres rápido tenta esse seu ftp (q confesso q n li porque to com pressa pra variar hehe)

Abraço!

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...