ThiagoAS Postado Fevereiro 20, 2013 Denunciar Share Postado Fevereiro 20, 2013 Boa tarde pessoal,estou com o seguinte problema. Estou tentando fazer o upload de arquivos, mas as informações do arquivo não estão sendo enviadas.Todas as informações são enviadas normalmente, com exceção do upload.Segue trecho que está dando este problema no form:<form id="form_abre_chamado" method="post" enctype="multipart/form-data" action="abre_chamado.php" title="Abertura de Chamado" > <tr> <td><label for="up_arquivo">Upload Arquivo</label> </tr> <tr> <td> <input type="file" name="up_arquivo" id="up_arquivo"/> </td> </tr> Página da action: $uploaddir = '../uploads/'; $uploadfile = $uploaddir . $_FILES['up_arquivo']['name']; var_dump($_FILES); if (move_uploaded_file($_FILES['up_arquivo']['tmp_name'], $uploadfile)){ echo "Arquivo Enviado"; } else { echo "Arquivo não enviado"; }Como vocês podem ver, tentei executar um var_dump. O retorno foi somente: array(0) {}Aparece também a mensagem: Notice: Undefined index: up_arquivo in <b>C:\xampp\htdocs\[...]Já verifiquei o php.ini e está ativado o upload de arquivos.Já tentei vários arquivos, de diferentes tamanhos, e o problema é o mesmo.Já chequei todas as tags para certificar se estavam fechando.Fiquei um bom tempo pesquisando e nada. Alguém poderia me ajudar, ou dar uma luz, por favor?Atenciosamente,Thiago Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 C0Y073 Postado Fevereiro 21, 2013 Denunciar Share Postado Fevereiro 21, 2013 Amigo acho que o erro não é no código fonte nãopois executei o seu código em minha maquina e retorno os dados do arquivo normalmentearray(5) { ["name"]=> string(40) "01 She Wolf (Falling to Pieces) [fea.m4a" ["type"]=> string(11) "audio/x-m4a" ["tmp_name"]=> string(31) "C:\EasyPHP-12.1\tmp\php3A3F.tmp" ["error"]=> int(0) ["size"]=> int(8185254)}<?php if($_FILES) { echo "<pre>"; var_dump($_FILES['up_arquivo']); echo "</pre>"; } ?> <form id="form_abre_chamado" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>" title="Abertura de Chamado" > <tr> <td><label for="up_arquivo">Upload Arquivo</label> </tr> <tr> <td> <input type="file" name="up_arquivo" id="up_arquivo"/> </td> </tr> <input type="submit"/> </form>creio que deve ser algum problema com seu servidor de paginas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ThiagoAS Postado Fevereiro 21, 2013 Autor Denunciar Share Postado Fevereiro 21, 2013 Estranho...estou executando local, e uso o XAMPP.Já revirei a parte de upload no php.iniNão sei + o que fazer =( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ThiagoAS Postado Fevereiro 22, 2013 Autor Denunciar Share Postado Fevereiro 22, 2013 Mais alguém teria alguma luz? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ThiagoAS Postado Fevereiro 28, 2013 Autor Denunciar Share Postado Fevereiro 28, 2013 Ninguém? :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Henrique Perez Postado Fevereiro 28, 2013 Denunciar Share Postado Fevereiro 28, 2013 Tente fazer algo mais "simples" e 'avançado" ao mesmo tempo... por exemplo, um uploader somente de imagens que só tem em uma pagina.<? // Prepara a variável caso o formulário tenha sido postado $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE; $config = array(); // Tamano máximo da imagem, em bytes $config["tamanho"] = 10006883; // Largura Máxima, em pixels $config["largura"] = 7392; // Altura Máxima, em pixels $config["altura"] = 8408; // Diretório onde a imagem será salva $config["diretorio"] = "fotos/"; // Gera um nome para a imagem 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 imagem $temp = substr(md5(uniqid(time())), 0, 10); $imagem_nome = $temp . "." . $extensao; // Verifica se o arquivo já existe, caso positivo, chama essa função novamente if(file_exists($config["diretorio"] . $imagem_nome)) { $imagem_nome = nome($extensao); } return $imagem_nome; } if($arquivo) { $erro = array(); // Verifica o mime-type do arquivo para ver se é de imagem. // Caso fosse verificar a extensão do nome de arquivo, o código deveria ser: // // if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) { // $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } // // Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão // para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo. if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"])) { $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } else { // Verifica tamanho do arquivo if($arquivo["size"] > $config["tamanho"]) { $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo"; } // Para verificar as dimensões da imagem $tamanhos = getimagesize($arquivo["tmp_name"]); // Verifica largura if($tamanhos[0] > $config["largura"]) { $erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels"; } // Verifica altura if($tamanhos[1] > $config["altura"]) { $erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels"; } } if(!sizeof($erro)) { // Pega extensão do arquivo, o indice 1 do array conterá a extensão preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); // Gera nome único para a imagem $imagem_nome = nome($ext[1]); // Caminho de onde a imagem ficará $imagem_dir = $config["diretorio"] . $imagem_nome; // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir); } } ?> <html> <head> <title>Enviar Foto</title> <style type="text/css"> .by {background-image:http://henriqueperez.ueuo.com/teste/host/fotos/dd61a87802.png} BODY, TD {font-family: verdana; font-size: 10pt;} body { background-image: url(); } body,td,th { color: #666666;} .send { -moz-box-shadow:inset 0px 1px 0px 0px #ffffff; -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff; box-shadow:inset 0px 1px 0px 0px #ffffff; background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ededed), color-stop(1, #dfdfdf) ); background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% ); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf'); background-color:#ededed; -moz-border-radius:6px; -webkit-border-radius:6px; border-radius:6px; border:1px solid #dcdcdc; display:inline-block; color:#777777; font-family:arial; font-size:15px; font-weight:bold; padding:6px 34px; text-decoration:none; text-shadow:1px 1px 0px #ffffff; }.send:hover { background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #dfdfdf), color-stop(1, #ededed) ); background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% ); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed'); background-color:#dfdfdf; }.send:active { position:relative; top:1px; } .style1 {font-size: 9pt} </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head> <body link=red vlink=red alink=red> <div align="center"><? // Imagem foi enviada com sucesso, mostra mensagem de SUCESSO if($arquivo && !sizeof($erro)) { echo "<img src=\"" . $imagem_dir . "\" border=0><BR><BR>Imagem enviada.<br>Quer enviar outra? <a href=\"foto.php\">Clique aqui</a>"; } // Ocorreu algum erro ou ainda o formulário não foi postado else { ?> </div> <form action="<?echo $PHP_SELF?>" method=post ENCTYPE="multipart/form-data"> <table border=0 cellpadding=2 cellspacing=1 align=center> <? if(sizeof($erro)) { echo "<tr><td colspan=2 bgcolor=red><B><U>Erro:</u><BR>"; foreach($erro as $err) { echo " - " . $err . "<BR>"; } echo "</B></td></tr>"; } ?> <tr> <td width="329" align=center>Envie uma imagem! <input type=file size=30 name=foto></td> <td width="8" align=center> </td> </tr> <tr><td align=center><input type=submit class="send" value="Enviar!"></td> <td align=center> </td> </tr> </table> </form> <p align="center"> <? } ?> </p> <p align="center"> </p> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ThiagoAS
Boa tarde pessoal,
estou com o seguinte problema. Estou tentando fazer o upload de arquivos, mas as informações do arquivo não estão sendo enviadas.
Todas as informações são enviadas normalmente, com exceção do upload.
Segue trecho que está dando este problema no form:
Página da action:Como vocês podem ver, tentei executar um var_dump. O retorno foi somente:
array(0) {
}
Aparece também a mensagem: Notice: Undefined index: up_arquivo in <b>C:\xampp\htdocs\[...]
Já verifiquei o php.ini e está ativado o upload de arquivos.
Já tentei vários arquivos, de diferentes tamanhos, e o problema é o mesmo.
Já chequei todas as tags para certificar se estavam fechando.
Fiquei um bom tempo pesquisando e nada. Alguém poderia me ajudar, ou dar uma luz, por favor?
Atenciosamente,
Thiago
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.