Ir para conteúdo

POWERED BY:

Arquivado

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

Detonador PHP

Limite de Upload nos servidores

Recommended Posts

Olá pessoal, ai vai mais uma pergunta!

Em alguns servidores de hospedagem, há um limite de upload de arquivos. Trabalho com a Locaweb, e apesar deles informarem que o limite de upload é de 2mb, consigo enviar arquivos de até uns 4mb para o servidor usando a função copy do php.

 

Gostaria de saber se existe alguma função que consiga enviar para o servidor arquivos maiores que estes. Ouvi falar na função ftp() do php. Será que ela consegue enviar arquivos de qualquer tamanho?

 

Se vocês tiverem outras sugestões melhor!

Outra coisa. Alguns servidores possuem uns arquivos de execução. Deixe eu explicar melhor. Não sei se alguém aqui joga algum jogo de Brower. Mas por exemplo, quando uma construção leva 10h pra ser feita, como tu pode feixar a janela do navegador e mesmo assim ele continuar o processo de construção como eu seu ainda estivesse com a janela aberta? Pois quando logo denovo no jogo após 15h a construção já esta pronta? Ouvi falar que alguns servidores possuem um script que fica executando as funções específicas que indicares.

 

Gostaria de saber isso para montar um sistema de processos do tipo: Configurar página principal, subir imagens, copiar arquivos para pasta tal, publicar arquivos html em tal pasta. Dai vamos supor que este processo demore uns 30min, ou que no meio da execução a minha internet caia. Dai eu gostaria de mesmo ao fechar a página, ele seguir executando as tarefas que eu deixei.

 

Dai ficam as minhas dúvidas, mas principalmente sobre o limite de upload!

Abraço a todos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvendo problemas com limite de upload de arquivos em PHP

 

O limite padrão do servidor, para upload de arquivos via PHP é de 2 MB. Isso significa que ao tentar enviar arquivos maiores que 2 MB, o servidor irá recusar o upload e gerar uma mensagem de erro.

Porém, graças ao recurso phpSuExec, você pode sobrescrever este valor, alterando-o para qualquer outro valor de sua preferência, conseguindo desta forma, enviar arquivos maiores que o limite padrão definido. |:

 

 

Instruções

 

1) Crie um arquivo chamado php.ini com o seguinte conteúdo:

 

post_max_size = 10M

upload_max_filesize = 10M

 

Nota: no exemplo acima, definimos os valores para somente permitir upload de arquivos cujo tamanho não ultrapasse 10 MB. Você deverá substituí-los para os valores de acordo com a sua necessidade.

 

2) Coloque o arquivo php.ini (por FTP em modo ASCII) dentro do mesmo diretório onde se encontra localizado seu script PHP para upload de arquivos.

 

3) E está pronto!

 

 

Script de Exemplo

 

Se desejar verificar se as instruções acima deram certo, siga os seguintes passos:

 

1) Acesse sua conta por FTP, e crie um diretório (pasta) para receber os arquivos enviados através da web.

Como sugestão, nós sugerimos a você que crie um diretório chamado uploads dentro de seu diretório principal public_html.

Nota: neste caso, o arquivo php.ini deverá estar localizado dentro do diretório public_html também.

 

2) Dê ao diretório criado, a permissão (chmod) 755 recursiva.

 

3) Crie um arquivo chamado uploadteste.php com o seguinte conteúdo:

<?php
if (!empty($_FILES['ourFile']['name'])) {
$saveDirectory = '<span style='color:red'>uploads/';
$tempName = $_FILES['ourFile']['tmp_name'];
$fileName = $_FILES['ourFile']['name'];
if (move_uploaded_file($tempName, $saveDirectory . $fileName)) {
echo 'Feito!';
} else {
echo 'Erro!';
}
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="upload">
Selecione o arquivo:

<input name="ourFile" type="file">

<input name="submit" type="submit" value="Enviar">
</form>
<?php
}
?></span>

Nota: no código acima, substitua a ocorrência uploads pelo nome do diretório que você criou para receber os arquivos enviados pelo script.

Caso tenha optado por aceitar nossa sugestão e criou um diretório chamado uploads, então você não deverá alterar nada no script.

 

4) Coloque o arquivo uploadteste.php (por FTP em modo ASCII) dentro do mesmo diretório onde você colocou o arquivo php.ini.

 

5) Dê ao arquivo uploadteste.php, a permissão (chmod) 755 .

 

6) Acesse o arquivo uploadteste.php pela web: http://seudominio/uploadteste.php

Nota: no endereço acima, substitua a ocorrência seudominio pelo nome de seu próprio domínio.

 

7) Usando o formulário do script, envie um arquivo cujo tamanho não ultrapasse os valores definidos dentro de seu arquivo php.ini.

Se o upload tiver sido bem sucedido, o script retornará a seguinte mensagem: Feito!

Verifique (por FTP) se o arquivo enviado - de fato - encontra-se dentro do diretório definido para receber os arquivos.

 

Espero que ajude :)

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.