Mudar o tamanho máximo do ficheiro de envio

Tenho um site hospedado num PC a que não tenho acesso. Eu tenho um formulário de upload que permite que as pessoas para carregar arquivos mp3 até 30MB grande. O meu script do lado do servidor é feito em PHP.

cada vez que tento enviar um ficheiro, recebo um erro alegando que o ficheiro excede o tamanho máximo permitido, por isso preciso de aumentar o tamanho. A minha pesquisa na web sugeriu a alteração do ficheiro .htaccess ao qual não tenho acesso, por isso não vai funcionar. Outros sugeriram que eu deveria adicionar um arquivo personalizado php.ini à minha raiz que não funcionou. Mais alguma sugestão?

 417
php
Author: Paolo Forgia, 2010-02-02

14 answers

Tem de definir o valor de upload_max_filesize e post_max_size no seu php.ini: [6]

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

Após modificar o php.ficheiros ini, é necessário reiniciar o seu Servidor HTTP para usar uma nova configuração.

Se não conseguires mudar o teu php.ini, estás sem sorte. Não pode alterar estes valores em tempo de execução; uploads de ficheiros maiores do que o valor indicado no php.ini terá falhado quando a execução chegar a sua chamada para ini_set.

Ver a Descrição do PHP principal.ini directivas ([13]).

 735
Author: meagar, 2014-06-13 13:19:51

Pode alterá-lo através de um ficheiro .htaccess.

.htaccess os ficheiros são guardados na mesma pasta que os seus ficheiros .php. Eles modificam a configuração para essa pasta e todas as sub-pastas. Você simplesmente os usa criando um arquivo .htaccess no diretório de sua escolha (ou modificá-lo se presente).

O seguinte deverá permitir-lhe aumentar o seu limite de envio (se o fornecedor do servidor permitir alterações de configuração do PHP através de .htaccess).

php_value upload_max_filesize 40M
php_value post_max_size 42M
 123
Author: Andrew Moore, 2010-02-02 16:05:08
Tive o mesmo problema e criei um .usuario.arquivo ini e colocá-lo no diretório em que o script de upload foi localizado. Do que dentro desse arquivo eu defini estes dois valores:
  upload_max_filesize = 40M

  post_max_size = 40M
E funcionou muito bem para mim!
 53
Author: user1641252, 2013-09-25 03:08:01

Também pode utilizar a função ini_set (apenas para a versão do PHP abaixo de 5, 3):

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

Tal como @acme disse, no php 5.3 e acima desta configuração estão as directivas PHP_INI_PERDIR, por isso não podem ser definidas usando o ini_set. Podes usar o utilizador.em vez disso, ini.

 46
Author: Balder, 2015-04-06 14:24:15
Para localizar o ficheiro ini, primeira corrida.
php -i | grep -i "loaded configuration file"

Depois abra o ficheiro e altere

upload_max_filesize = 2M
post_max_size = 2M

Substituir o 2M pelo tamanho que deseja, por exemplo 100M.

Tenho um post no blog sobre isso com um pouco mais de informação também.http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini-file-for-wordpress
 38
Author: seanb123, 2015-09-03 08:43:50
Tenho o mesmo problema no passado .. e eu corrigi-o através do arquivo .htaccess

Quando se faz mudanças na migração do php através .htaccess deve-se colocar configrações em IfModule Marca, outra que o erro interno do servidor irá surgir.

Este é um exemplo, funciona bem para mim.
<IfModule mod_php5.c>
   php_value upload_max_filesize 40M
   php_value post_max_size 40M
</IfModule>

E este é o referance do php se quiser compreender mais. http://php.net/manual/en/configuration.changes.php

 35
Author: Eyad Farra, 2018-01-30 06:57:55

Resolvi este problema criando um ficheiro chamado .user.ini na pasta onde residem os programas de ficheiros PHP (isto significa que qualquer programa de PHP nesta pasta obtém o novo limite de tamanho de ficheiro)

O conteúdo de .user.ini foi:

upload_max_filesize = 40M
post_max_size = 40M
 11
Author: Pearce, 2016-08-15 20:21:50
Bem, gostaria de acrescentar os meus dois cêntimos. Estou a usar a webhosting partilhada e abordei este problema muitas vezes, tentei resolvê-lo sozinho, mas sem sucesso. Finalmente eu consegui resolvê-lo através da verificação de várias fontes web e entrar em contato com o meu provedor de serviços de hospedagem. Minhas perguntas foram: "Como posso mudar o valor do php memory_limit na webhosting compartilhada?", "How can I change php value upload_max_filesize in shared webhosting?", "How can I change php value max_input_vars in shared webhosting?", "How can I alterar o valor do php max_execution_time na webhosting partilhada?", "How can I change php value max_input_time in shared webhosting?"e muito mais, configurando ou mudando php.ini ou .htaccess file. Tentei mudá-los, mas surgiram problemas. Finalmente eu contactei meu provedor de hospedagem, e acontece que eu defini meu php para nativo, eles mudaram para php 5.6, aqui está sua resposta:
O teu PHP foi configurado para o modo' nativo', o que significa que não podes sobrepor valor. Mudei-te para apenas 5.6, por isso devias ... porta-te bem Vá."

Depois disso, conectei o meu site através de ftp Filezilla, também não se esqueça de fazer tanto o seu serviço ftp para mostrar arquivos escondidos, e o seu computador local para fazê-lo, porque .htaccess arquivo estava escondido no meu laptop local e no meu site. Ele estava disponível na pasta public_html, Eu apenas baixei e adicionei os seguintes códigos para o final do arquivo e, em seguida, carregou-o de volta para o servidor:

php_value memory_limit 256M
php_value post_max_size 256M
php_value upload_max_filesize 64M
php_value max_input_vars 1800
php_value max_execution_time 300
php_value max_input_time 300

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Tudo está funcionando corretamente por enquanto, se algum de vocês superar com alguns problemas, por favor escreva aqui e me avise para que eu possa mudar os códigos acima mostrados. A propósito, eu também upload algumas fotos que mostram a mudança.

Mais uma coisa, quase me esqueci de mencionar a instalação do ZipArchive na sua ... serviço de webhosting compartilhado, eu gerenciei esse requisito de carrapato apenas indo para as configurações de php através do meu cpanel, clique em extensões do seletor de php e, em seguida, tick zip seção, isso é tudo. Obrigado. PS: estou aberto a boas práticas, e se você vir alguma má prática aqui, por favor, avise-me, eu tentarei mudá-las. Obrigado.
 3
Author: garakchy, 2017-02-03 01:55:41
Tive o mesmo problema. Eu tentei três maneiras que eram geralmente sugeridas:
  1. funções.php
  2. php.ini
  3. .htaccess
Nenhum se o que resolveu o meu problema. Estou usando godaddy e encontrei uma solução sugerida que era: [[2]}
  1. Temos de hospedagem web, depois gerir
  2. em Software seleccione seleccione a versão do PHP
  3. Seleccione mude para as opções do PHP encontradas no topo canto direito da tabela com a cor do tipo de letra: azul
  4. na parte inferior, você provavelmente terá upload_max_filesize = 2M
  5. Agora, Sinta-se à vontade para mudá-lo.
  6. não te esqueças de carregar no botão gravar!
  7. Vá agora para o painel wp-admin, seleccione Media depois Adicionar

voilà! Agora você tem um tamanho máximo de arquivo de upload diferente:)

 3
Author: nrmb, 2017-04-05 16:31:25

Talvez este deve ser um comentário para @seanb123 e @Fredrick Gauss comentando sobre o seu comentário, mas para mim em Drupal 8.1 com PHP 7, o arquivo que eu precisava para modificar foi localizado aqui:

/etc/php/7.0/apache2/php.ini

Modded provavelmente mais quatro php.ficheiros ini, incluindo o que o meu sistema chamou de "ficheiro de configuração carregado" (php -i | grep -i "loaded configuration file") e o que foi encontrado na informação.php page, mas nenhum deles ajudou. A chave para descobrir o caminho correto foi encontrada em um site a partir de 2012. Disseram que o caminho estava desacreditado. até naquela altura, mas deu-me uma pista de onde encontrá-la. Para PHP7 é um pouco diferente do PHP5, mas o conceito é o mesmo.

Talvez isto ajude um idiota indefeso como eu. Dito isto, a resposta para a operação no meu caso seria que alguém com privilégios de administrador na caixa teria de o fazer.

O site que me ajudou: http://www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/

Isto é ... também endereçado aqui: importar o limite de tamanho do ficheiro em PHPMyAdmin

Editar: o texto completo da minha nota para mim mesmo:

Para alterar o tamanho máximo de envio, edite upload_ max_filesize e se necessário?] post_max_size in / etc / php / 7.0/apache2 / php.ini (ou in versões mais antigas: / etc / php5 / apache2 / php.ini)

/ etc / init.d / apache2 reiniciar

EDITAR DE NOVO: uma vez que você está importando arquivos grandes, você pode precisar alterar o tempo-limite para processá-los. No meu case, o ficheiro chamado "config".padrao.php " foi encontrado em /usr/share/phpmyadmin/libraries/config.default.php com a variável $cfg['ExecTimeLimit'] = 300; Mudei o meu para 900 por uma enorme importação, por exemplo. Depois disso, você precisa reiniciar o apache

 2
Author: seizethecarp, 2018-09-25 13:13:15

Não dessas soluções funcionam para mim!! (já definido para 32M por padrão).O problema é na maioria dos casos max_allowed_packet

Estou a trabalhar no local e a usar MAMP.

Aqui estão as soluções;

1. Se não tiver my.ini

Adicionar

--max_allowed_packet=168435456

Para

...\MAMP\bin\startMysql.sh

2. Se tiveres a minha.ini

Em

[mysqld]

Adicionar

max_allowed_packet=100M

Feito!

 1
Author: ErcanE, 2014-12-08 15:26:57

Muitas vezes eu notei que o site wit compartilhado hospedagem não permite alterar as configurações em php.ficheiros ini. também não se pode nem mesmo engatar .ficheiro htaaccess. em tal situação pode - se tentar seguir as coisas

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);
 1
Author: The EasyLearn Academy, 2017-08-30 08:31:55
Tens de verificar três coisas.

upload_max_filesize, memory_limit e post_max_size no php.ficheiro de configuração do ini exactamente.

Todas estas três configurações limitam o tamanho máximo dos dados que podem ser submetidos e tratados pelo PHP.

Tipicamente post_max_size e memory_limit têm de ser maiores que upload_max_filesize.


Então três variáveis total você precisa verificar para ter certeza absoluta.

 0
Author: prosti, 2017-02-23 20:07:58

As respostas estão um pouco incompletas, 3 coisas que tens de fazer

Em php.ini de sua instalação php (Nota: Dependendo se você quiser para CLI, apache, ou nginx, encontre o php certo.ini para manipular. Para nginx é geralmente localizado em /etc/php/7.1/fpm onde 7.1 depende da sua versão. Para o apache Normalmente /etc/php/7.1/apache2)

post_max_size=500M

upload_max_filesize=500M

memory_limit=900M

Ou fixar outros valores. Reiniciar / recarregar o apache se tiver o apache instalado ou o php-fpm para o nginx se usar o nginx.

 0
Author: Toskan, 2018-04-12 21:43:44