Kelven 1 Denunciar post Postado Maio 20, 2010 galera to tentando fazer um sistema de upload muito simples bem simples mesmo porque depois é que eu vou colocar as validações, mas o problema é que não ta dando certo e eu nem sei o porque, eu to tentando fazer o código pela lógica olha só a parte do formulario: <?php include ("conexao.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>formulario</title> </head> <body> <form action="php_formulario.php" method="post" enctype="multipart/form-data"> Nome:<input name="nome" type="text" id="nome" /><br /> Foto:<input type="file" name="foto" /><br /> <input type="submit" name="enviar" /> </form> </body> </html> a parte do php do formulario: <?php $nome = $_POST["nome"]; $imagem = $_FILES["foto"]; $pasta = "uploads/" if () { move_uploaded_file($_FILES["$imagem"]["$nome"], $pasta . $nome); mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')"); } else { echo "erro ao enviar a imagem"; } ?> E o erro que da : Parse error: syntax error, unexpected T_IF in /home/flycratr/public_html/upload/php_formulario.php on line 8 Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Maio 20, 2010 O move_uploaded_file($_FILES["$imagem"]["$nome"], $pasta . $nome) não tem que estar dentro do if? <?php $nome = $_POST["nome"]; $imagem = $_FILES["foto"]; $pasta = "uploads/" if (move_uploaded_file($_FILES["$imagem"]["$nome"], $pasta . $nome)) { mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')"); } else { echo "erro ao enviar a imagem"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Maio 20, 2010 $nome = $_POST['nome']; $imagem = $_FILES['foto']['name']; $pasta = 'uploads/'; if ( !empty($_FILES['foto']['name']) ) { move_uploaded_file($_FILES['foto']['tmp_name'], $pasta . $nome); mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')"); } exemplo de script de upload: http://forum.imasters.com.br/index.php?/topic/395342-upload-multiplo-de-fotos/page__view__findpost__p__1544152 Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 valeu andre vou testar ve se da certo agora mesmo, Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 bruno com esse tipo olha os erros que deram Warning: move_uploaded_file(uploads/kelven) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/flycratr/public_html/upload/php_formulario.php on line 8 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpxnYW2Y' to 'uploads/kelven' in /home/flycratr/public_html/upload/php_formulario.php on line 8 Warning: mysql_query() [function.mysql-query]: Access denied for user 'nobody'@'localhost' (using password: NO) in /home/flycratr/public_html/upload/php_formulario.php on line 9 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/flycratr/public_html/upload/php_formulario.php on line Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 pessoal se colocar assim da certo olha? porque eu tentei e deu o else <?php if(isset($_POST['submit'])) { $nome= $_POST['nome']; $foto= $_FILES['foto']; $pasta= 'local/'; move_uploaded_file($_FILES["$imagem"]["$nome"], $pasta . $nome); mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')"); } else { echo "erro ao enviar o arquivo"; } ?> eu não sei também se é porque meu servidor que eu uso é o homehost e ele la no ftp online no painel de controle eu clico com o direito em cima da pasta que eu quero que receba arquivos e coloco a opção receber arquivos eu não sei se não ta dando certo esse negocio por causa que a pasta não ta recebendo os arquivos. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Maio 20, 2010 Agora tá 'tranquilo' ne cara?! 'Permission denied', o servidor é Linux? vai lá no teu programa FTP, clica com o botão direito, ai procura algo parecido com 'propriedades', para setar o chmod para 777 e o outro erro do mysql_query, cadê a conexão com o banco ? ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 pio kkkkk esqueci a conexão com o banco, rsrs mas sera que dessa vez da certo? o problema é que eu to usando o win 7 e ele ja vem com o ie mais atualizado e não tem como alterar nada com o ftp só com o ftp online dentro do painel de controle la da homehost, mas la também não tem propriedades a opição, só tem essa que eu falei quando clica com o botão direito. eu só conseguia asseçar o ftp pelo ie 6 como é que faz agora? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Maio 20, 2010 O looco cara, usa um programa de FTP ai... faz o seguinte, meu note tb é win7.. baixa o FireFox (navegador), ai instala o FireFTP(complemento do firefox) ai por ele, você vai conseguir alterar as permissões da pasta, se o teu servidor na homehost for linux. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Maio 20, 2010 Filezilla, sem mais. Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 eu consegui mudar os direitos, tudo certo mas o problema é o seguinte, if(isset($_POST['submit'])) { $nome= $_POST['nome']; $foto= $_FILES['foto']; $pasta= 'local/'; move_uploaded_file($_FILES["$imagem"]["$nome"], $pasta . $nome); mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')"); } else { echo "erro ao enviar o arquivo"; } ta executando o else, isso quer dizer que não ta dando o submit? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Maio 20, 2010 depende.. como está o teu HTML ? uma verificação mais legal é: if($_SERVER['REQUEST_METHOD'] == 'POST'){ Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 sera que da certo se colocar no lugar do isset no if colocar tipo: se o formulario da imagem não estiver vazio "&&" o submit tiver sido clicado ? vou fazer essa que você mandou bruno é do jeito que eu falei não deu certo e do jeito que você mandou bruno enviou para o banco de dados mas não enviol a foto só enviou o nome do form text. ou olha só isso aqui enviol o nome da imagem para o banco de dados o que sera o erro agora? <?php include ("conexao.php"); $nome = $_POST['nome']; $imagem = $_FILES['foto']['name']; $pasta = 'uploads/'; if (!empty($_FILES['foto']) && isset($_POST['submit']) ) { move_uploaded_file($_FILES['foto']['tmp_name'], $pasta . $nome); mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')"); } ?> mais não enviol a imagem para a pasta, mas o nome do arquivo ta la no banco de dados, eu ja coloquei 777 la nas permissões da pasta Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 essa verificação agora só ta dando erro Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Maio 20, 2010 lembrou de setar o formulário como multipart/form-data? Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 ou olha só esse: <?php include ("conexao.php"); $nome = $_POST["seunome"]; $imagem = $_FILES["imagem"]["name"]; $pasta = "uploads/"; if (!empty($_FILES['foto']) { move_uploaded_file($_FILES["$imagem"], $pasta . $imagem); mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')"); } else { echo "erro ao enviar a imagem"; } ?> quando passa pela verificação mas da erro na linha 11 que é a linha que só tem o "{" depois da verificação if. o que sera que é ? Compartilhar este post Link para o post Compartilhar em outros sites
ozorio silva 0 Denunciar post Postado Maio 20, 2010 ai ve se funciona tem mais exemplos aqui falow B) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>upload simples</title> </head> <body> <form action="" method="post" enctype="multipart/form-data"> Nome:<input type="text" name="nome" /> Arquivo :<input type="file" name="arquivo" /> <input type="submit" name="submit" value="Enviar" /> </form> <?php //require_once('conexao.php'); if(isset($_POST['submit'])) { $ARQUIVO = $_FILES['arquivo']; $ARQ_NOME = $ARQUIVO['name']; $ARQ_TEMP = $ARQUIVO['tmp_name']; $ARQ_TYPE = $ARQUIVO['type']; $ARQ_SIZE = $ARQUIVO['size']; $ARQ_LIMIT="512000";//500x1024 = 512000 = 500k $ARQ_DIR ="uploads/$ARQ_NOME"; $NM_USER = $_POST['nome']; print_r($ARQUIVO); //verifica se existe um nome no campo if($NM_USER==false){ echo"<script>alert('Preencha o nome');</script>"; echo"<script>history.back();</script>"; exit(); } //verifica se existe algum arquivo selecionado if($ARQ_NOME==false){ echo"<script>alert('selecione um arquivo ok]');</script>"; echo"<script>history.back();</script>"; exit(); } //verifica tamanho do arquivo if($ARQ_SIZE > $ARQ_LIMIT){ echo"<script>alert('Erro Tamanho do arquivo muito grande tamanho maximo permitido é [500k]');</script>"; echo"<script>history.back();</script>"; exit(); } //verifica extenção do arquivo if(!preg_match("^image^",$ARQ_TYPE)) {// so aceita arquivos de imagens echo"<script>alert('Erro arquivo nao permitido para upload Ok');</script>"; echo"<script>history.back();</script>"; exit(); } $MOVER_ARQ = move_uploaded_file($ARQ_TEMP,$ARQ_DIR); $INSERE = mysql_query("INSERT INTO foto (foto,nome) VALUES ('$ARQ_NOME','$NM_USER')") or die(mysql_error()); if($INSERE==TRUE) { echo"Arquivo Enviado Com Sucesso"; } else { echo"ERRO VERIFIQUE"; } } ?> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 lembrei sim Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Maio 20, 2010 faltou um parênteses if(!empty($_FILES['foto'])) Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 gente olha ta dando erro bem aqui olha so: <?php include ("conexao.php"); $nome = $_POST["seunome"]; $imagem = $_FILES["imagem"]["name"]; $pasta = "uploads/"; $nome = imagem; if (!empty('$imagem')) { move_uploaded_file($_FILES['foto']['tmp_name'], $pasta . $nome ); mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')"); echo "sucesso"; } else { echo "erro "; } ?> toda vez que no if eu coloco aspas duplas ou simples da erro, mas a informação quando não da erro que eu tiro as aspas, a informação vai para o banco de dados. eu queria saber se tem alguma coisa errada no codigo do upload porque ele que não ta funcionando Compartilhar este post Link para o post Compartilhar em outros sites