Ir para conteúdo

POWERED BY:

Arquivado

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

SHWE12

Problemas com tamanho do arquivo para upload

Recommended Posts

Ola Galera, estou um codigo pronto aqui, apenas adaptei algumas coisas, mas a maior dificuldade é enviar arquivos mp3 de mais ou menos 4 ou 5mb, só que esse codigo aqui envia no maximo até 1,5mb e depois nao envia mais, alguem pode me ajudar a arrumar isso.

 

vlew obrigado..

 

<?
ob_start();
session_start();
// Verificador de sessão
require ('../../sis/verifica.php');

require('../../admin/permissao.php');
$conexao = mysql_connect($servidor,$usuario,$senha) or exit ('erro de conexao');
mysql_select_db($base_dados,$conexao) or exit ('erro na conexão com o banco');
?>
<?

// Prepara a variável caso o formulário tenha sido postado
$arquivo = isset($_FILES["audio"]) ? $_FILES["audio"] : FALSE;

$config = array();
// Tamano máximo da midia, em bytes
$config["tamanho"] = 999999999;

// Diretório onde a midia será salva
$config["diretorio"] = "audio/";

// Gera um nome para a midia e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente..
// Função Recursiva

function nome($extensao)
{
	global $config;

	// Gera um nome único para a midia
	$temp = substr(md5(uniqid(time())), 0, 10);
	$midia_nome = $temp . "." . $extensao;
	
	// Verifica se o arquivo já existe, caso positivo, chama essa função novamente
	if(file_exists($config["diretorio"] . $midia_nome))
	{
		$midia_nome = nome($extensao);
	}

	return $midia_nome;
}

if($arquivo)
{	
	$erro = array();
	
	// Verifica o mime-type do arquivo para ver se é de midia.
	// Caso fosse verificar a extensão do nome de arquivo, o código deveria ser:
	if(!eregi("^audio\/(mp3|mpeg|mpeg3|mpg)$", $arquivo["type"]))
	{
		$erro[] = "Arquivo em formato inválido! A midia deve ser mp3 . Envie outro arquivo";
	}
	else
	{
		// Verifica tamanho do arquivo
		if($arquivo["size"] > $config["tamanho"])
		{
			$erro[] = "Arquivo em tamanho muito grande! A midia deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo";
		}
	}

	if ( count($erro) == 0 )
	{
		// Pega extensão do arquivo, o indice 1 do array conterá a extensão
		preg_match("/\.(mp3|mpeg|mpeg3|mpg){1}$/i", $arquivo["name"], $ext);
		
		// Gera nome único para a midia
		$midia_nome = nome($ext[1]);

		// Caminho de onde a midia ficará
		$midia_dir = $config["diretorio"] . $midia_nome;

		// Faz o upload da midia
		move_uploaded_file($arquivo["tmp_name"], $midia_dir);
		
		
		echo "mensagem de sucesso (somente para teste)";
	}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Servidor Linux ou Windows ?

Você tem autonomia para modificar o php.ini ?

 

 

Crie um arquivo php em qualquer lugar do servidor

e coloque

 

<?

echo "upload_max_filesize" . ini_get('upload_max_filesize') . "\n<br>"; 
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";

?>
e poste o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Renato o resultado foi esse

 

upload_max_filesize2M

post_max_size = 8M

Tá aí o problema...

 

A variavel interna do php chamada upload_max_filesize define o tamanho máximo de upload que você pode fazer... ela tá setada em 2M, ou seja, 2Mb... Por isso você não consegue enviar arquivos maiores...

 

Veja algumas referencias (tiradas do Google), de como aumentar esse limite:

http://www.htmlstaff.org/ver.php?id=22845

http://drupal.org/node/97193

http://aminulsumon.wordpress.com/2008/10/0...ad-size-in-php/

 

Tente executar isso antes do seu código:

<?php
ini_set('upload_max_filesize', '10M');
?>

Veja mais um pouco aqui:

http://br2.php.net/manual/pt_BR/features.f...post-method.php

http://br2.php.net/manual/pt_BR/features.file-upload.php

http://br2.php.net/results.php?q=upload_ma...amp;p=wholesite

Compartilhar este post


Link para o post
Compartilhar em outros sites

ini_set("upload_max_filesize","15M");
ini_set("post_max_size","15M");

Coloque isto no inicio do seu Arquivo onde você tenta fazer o Upload...

Assim ele modificará o valor destes parâmetros de execução

 

Veja os detalhes AQUI

 

 

Poste se deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não pode modificar seus parâmetros de execução pelo arquivo.

Como seu site é de Upload/Download peça para o administrador do Servidor/Host Alterar.

 

Altere o valor das variáveis

 

upload_max_filesize = 2M
e
post_max_size = 2M

Para

 

post_max_size = 15M

post_max_size = 15M

 

http://www.php.net/manual/pt_BR/configuration.changes.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu coloquei assim:

 

<?

ini_set("upload_max_filesize","15M");
ini_set("post_max_size","15M");

ob_start();
session_start();
// Verificador de sessão
require ('../../sis/verifica.php');

require('../../admin/permissao.php');
$conexao = mysql_connect($servidor,$usuario,$senha) or exit ('erro de conexao');
mysql_select_db($base_dados,$conexao) or exit ('erro na conexão com o banco');
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o duro é q eu falei com o kra e nem ele sabe fazer isso, será que tem como criar um arquivo php.ini e colocar no servidor? isso funcionaria?

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.