Mostrando postagens com marcador upload. Mostrar todas as postagens
Mostrando postagens com marcador upload. Mostrar todas as postagens

DEFINIÇÃO DE CONFIGURAÇÃO INI_SET PARA AUMENTAR MEMÓRIA E TEMPO DE UPLOAD DE ARQUIVO EM PHP

ini_set('memory_limit', '128M'); 

ini_set('upload_max_filesize', '128M'); 

ini_set('post_max_size', '128M'); 

ini_set('file_uploads', 'On'); 

ini_set('max_execution_time', '1800'); 

ini_set('file_uploads', 'On'); 

ini_set('session.gc_maxlifetime', '3600');

A FORMA MAIS FÁCIL DE FAZER UPLOAD DE ARQUIVO COM JAVASCRITP AJAX JQUERY E PHP

No arquivo.php
$nome_arquivo = $_FILES['file']['name']; $tmp_name = $_FILES['file']['tmp_name']; if (is_dir("c:/upload/arquivo")) { $upload = move_uploaded_file($tmp_name, "c:/upload/arquivo/$nome_arquivo"); if ($upload == true) { exit("UPLOAD REALIZADO COM SUCESSO"); } else { exit("ERRO AO FAZER UPLOAD"); } }else{ exit("DIRETÓRIO DE DESTINO NÃO ENCONTRADO"); }
No arquivo.js
$(function () { $("#form").submit(function (e) { e.preventDefault(); uploadArquivo(); }) }) function uploadArquivo() { var data; data = new FormData(); data.append('file', $("#form input[type='file']")[0].files[0]);///ENVIA APENAS UM ARQUIVO $.ajax({ url: "arquivo.php", data: data, type: "post", processData: false, contentType: false, success: function (resp) { alert(resp); } }) }
No arquivo.html

<form id="form">
   Escolha o arquivo:
  <input name="arquivo" type="file" />
  <button type="submit">Salvar</button>
</form> 

UPLOAD DE ARQUIVOS PESADOS PHP

Hoje precisei aumentar o tamanho limite permitido para fazer upload de arquivos grandes no php sem a necessidade de alterar o arquivo de configuração PHP.ini.

Instanciei a classe UploadHandler.php, onde já faz todo processo de upload no php.

Então segue abaixo o código que joguei no arquivo .htacess do meu projeto e funcionou perfeitamente.


php_value memory_limit 400M
php_value post_max_size 100M
php_value upload_max_filesize 120M
php_value max_execution_time 1800
php_value session.gc_maxlifetime 3600
  
O parâmetro: memory_limit, aumentamos o valor máximo de memória em bytes que um script pode alocar para “400MB”. O valor padrão é “128MB”, caso precise de mais espaço é só aumentar o valor.
O parâmetro: post_max_size, aumentamos o tamanho máximo de dados a ser enviados via POST. O valor padrão e “8MB”, no nosso script aumentamos para “100MB”.
O parâmetro: upload_max_filesize, aumentamos o tamanho máximo do arquivo que faremos o upload para “120MB”. O padrão é “2MB”.
O parâmetro: max_execution_time, aumentamos a quantidade de segundos de execução do script para 30 minutos. O padrão e 30 segundos.
O parâmetro: session.gc_maxlifetime, aumentamos em segundo o tempo de vida de sessão para uma hora. O padrão e 24 minutos.

Abaixo o método que criei em php para fazer upload com a class UploadHandler.php

    function upload(){
         error_reporting(E_ALL | E_STRICT);
          ///IMPORTA A CLASS UploadHandler.php
           require(APPLICATION_PATH."/../public/js/jquery/jQuery-File-Upload-9.5.7/server/php/UploadHandler.php");     

          ////CRIA ARRAY COM INFORMAÇÕES QUE SERÃO PASSADAS PARA CLASS
         $options = array('upload_dir'=>$caminhoArquivo, 'upload_url'=>$caminhoArquivo); ///informo onde será armazenado o arquivo após o upload
        $upload_handler = new UploadHandler($options); //passo o array com as informações de upload para class
        $file = $upload_handler->file; ///recebo os dados do arquivo após upload
        return $file->name; ////retorna o nome do arquivo
}


⟾Para dúvidas, sugestões ou agradecimentos, deixe seu comentário.