Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou usando o seguinte codigo para fazer upload e inserir os dados no BD:
CODE
<?php
set_time_limit(0);
session_start();
$_SESSION['pr_codigo'] = $pr_codigo;
$tipo = $_POST['tipo'];
$assunto = $_POST['assunto'];
$curso = $_POST['curso'];
$obs = $_POST['obs'];
if (empty($assunto)) {
echo ("<script>alert('Preencha o campo ASSUNTO');window.history.go(-1);</script>");die;
}else {
// renomear e mandar o arquivo
$file = $_FILES['file'];
$renomear = uniqid("DW-").".".$tipo;
copy($file['tmp_name'], "../../fac/upload/".$renomear);
}
// arquivo enviado
// INSERIR DADOS NO BANCO DE DADOS
$conexao = mysql_pconnect("---","----","----");
mysql_select_db("dondome_web_fac",$conexao);
$query = "INSERT INTO upload VALUES('000000','$pr_codigo','$assunto','$renomear','$tipo','$curso','$obs',now())";
mysql_query($query,$conexao);
?>
Acontece que quando o arquivo é maior que 99K ele não envia, ele faz o processo inseri os dados no BD mas o arquivo não é salvo no servidor....
O tamanho maximo no php.ini é 8MB.....
Alguma dica ? tenho ideia de enviar arquivos de até 4M
>
para upload, prefira move_uploaded_file() em vez de copy()
Use o índice error do array do arquivo enviado para ver o código do erro.
http://www.php.net/manual/pt_BR/features.f...load.errors.php
peguei um codigo de move_uploaded_file() e estou com um problema, quando deixo só o codigo para enviar o arquivo:
CODE
<?php//precisa ser criado o diretorio uploads os sub-diretorio é criado em uploads
$renomear = uniqid("DW-").".".$tipo;
$DirUploads = "";
$DirClientes = "";
$filename = $DirUploads.'/'.$DirClientes; //verifica se existite o diretorio
if (file_exists($filename)) {
//se o diretorio existe faz o upload
$destino="../../fac/upload/";
$moveu = move_uploaded_file($_FILES['arquivo']['tmp_name'],$destino.$renomear);
} else {
mkdir($DirUploads.'/'.$DirClientes.'/', 0777); //Cria diretorio, se não existir
//faz o upload para o diretorio criado
$destino="../../fac/upload/";
$moveu = move_uploaded_file($_FILES['tmp_name'],$destino.$renomear);
}
?>
<form action="up.php" method="post" enctype="multipart/form-data">
<center>
<input type=file name="arquivo"> <input type=submit name="Browser" value="Enviar">
</form>
ele envia normalmente...
+ se eu colocar junto o codigo para salvar os dados no BD ele não envia os arquivo acima de 100K
CODE
<?phpset_time_limit(0);
session_start();
$_SESSION['pr_codigo'] = $pr_codigo;
$tipo = $_POST['tipo'];
$assunto = $_POST['assunto'];
$curso = $_POST['curso'];
$obs = $_POST['obs'];
if (empty($assunto)) {
echo ("<script>alert('Preencha o campo ASSUNTO');window.history.go(-1);</script>");die;
}else {
// renomear e mandar o arquivo
$file = $_FILES['file'];
$renomear = uniqid("DW-").".".$tipo;
//precisa ser criado o diretorio uploads os sub-diretorio é criado em uploads
$renomear = uniqid("DW-").".".$tipo;
$DirUploads = "";
$DirClientes = "";
$filename = $DirUploads.'/'.$DirClientes; //verifica se existite o diretorio
if (file_exists($filename)) {
//se o diretorio existe faz o upload
$destino="../../fac/upload/";
$moveu = move_uploaded_file($_FILES['arquivo']['tmp_name'],$destino.$renomear);
} else {
mkdir($DirUploads.'/'.$DirClientes.'/', 0777); //Cria diretorio, se não existir
//faz o upload para o diretorio criado
$destino="../../fac/upload/";
$moveu = move_uploaded_file($_FILES['tmp_name'],$destino.$renomear);
}
}
// arquivo enviado
// INSERIR DADOS NO BANCO DE DADOS
$conexao = mysql_pconnect("200.155.28.175","dondome_seitweb","d787878");
mysql_select_db("dondome_web_fac",$conexao);
$query = "INSERT INTO upload VALUES('000000','$pr_codigo','$assunto','$renomear','$tipo','$curso','$obs',now())";
mysql_query($query,$conexao);
?>
<html>
<head>
<meta http-equiv="Content-Language" content="pt-br">
<title>Upload</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" links="#000000" vlinks="#000000" alinks="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
<table cellpadding="0" border="0" width="590" height="165" cellspacing="0">
<tr>
<td valign="top" width="590">
<p align="center"><b>
<font face="Verdana" size="2" color="#C0C0C0"><br>
<br>
<br>
</font>
<font face="Verdana" size="1" color="#C0C0C0">ARQUIVO ENVIADO COM SUCESSO</font><br>
<font face="Verdana" size="1">
<br>
</font></b><font face="Verdana" size="1">[<a target="_self" href="envia.php?pr_codigo=<? echo $pr_codigo ?>"><span style="text-decoration: none">ENVIAR
OUTRO ARQUIVO</span></a>]</font></p>
</td>
</tr>
</table>
</div>
</body>
</html>
o codigo de envio é o mesmo nos dois casos, a unica diferença esta que preciso salvar os dados no BD...
repito:
>
Use o índice error do array do arquivo enviado para ver o código do erro.
http://www.php.net/manual/pt_BR/features.f...load.errors.php
Só assim saberá qual erro ocorreu no upload...
>
repito:
>
Use o índice error do array do arquivo enviado para ver o código do erro.
http://www.php.net/manual/pt_BR/features.f...load.errors.php
Só assim saberá qual erro ocorreu no upload...
ele não da nenhuma mensagem de erro.... ele conclui o envio (carregar a barra de progresso) e depois carrega a pagina que avisa que enviou.... os dados são salvos no banco de dados... mas o arquivo não vai para o servidor.... e se uso arquivos inferiores a 100K o UP é feito normalmente...
coloque após o envio:
echo "<h2>Código do erro: " . $_FILES['arquivo']['error'] . "</h2>";Veja se aparece o número zero ou algum outro.Algum número deverá aparecer.>
coloque após o envio:
echo "<h2>Código do erro: " . $_FILES['arquivo']['error'] . "</h2>";Veja se aparece o número zero ou algum outro.Algum número deverá aparecer.
APARECEU !!!
Código do erro: 2
e vendo naquela pagina que você me indico:
UPLOAD_ERR_FORM_SIZE
Valor: 2; O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário HTML.
Qual seria solução !?
PROBLEMA RESOLVIDO
no formulario envio estava limitando mesmo o tamanho, e eu não estava vendo a linha...
passei a ler linha por linha e achei... rs
VLW PELA AJUDA !
para upload, prefira move_uploaded_file() em vez de copy()
Use o índice error do array do arquivo enviado para ver o código do erro.
http://www.php.net/manual/pt_BR/features.f...load.errors.php