boss_zy0n 0 Denunciar post Postado Julho 14, 2003 estou tentando fazer um upload de arquivo com esse form <?php /* */ include("../funcoes.php"); $mysql=new artigos; $mysql->conectar(); session_start(); if($Admin=='ok'){ if(!isset($acao)){ $d = date("d"); $s = date("d"); $m = date("n"); $hora = date("G:i"); $ano = date("Y"); $mes = array(1 =>"Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"); $data = "$d "; $data .= "$mes[$m] - "; print(' <html> <head> <title>Rhede Tecnologia:: Administracao de notícias :: Powered by Usina de Arte</title> <link href="../artigos.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#E2E2E2" text="#000000" leftmargin="5" topmargin="5"> <table width="500" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td align="left" valign="top"><img src="../imagens/logo_rhede.gif" width="320" height="100"></td> </tr> <tr> <td align="left" valign="top"><img src="../imagens/adm.gif" width="500" height="34"></td> </tr> </table> <table width="450" border="0" cellpadding="0" cellspacing="0" align="center"> <tr align="center" valign="top" bgcolor="#E2E2E2"> <td width="100"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="adicionar.php">Adicionar Notícia</a></font></td> <td width="100"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="editar.php">Editar Notícia</a></font></td> <td width="100"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="deletar.php">Deletar Notícia</a></font></td> <td width="100"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="logout.php">Sair</a></font></td> </tr> </table> <form action="adicionar.php?acao=add" method="POST" enctype="multipart/form-data"><table border="0" cellpadding="0" cellspacing="0" width="500" align="center"> <tr> <td width="88"><font size="1" face="Verdana">Título</font></td> <td width="408"><input type="text" name="titulo" size="20" style="font-family: Verdana; font-size: 8 pt; border: 1 solid #000000"></td> </tr> <tr> <td width="88"><font size="1" face="Verdana">Autor:</font></td> <td width="408"><input type="text" name="autor" size="20" style="font-family: Verdana; font-size: 8 pt; color: #000000; border: 1 solid #000000"></td> </tr> <tr> <td width="88"><font size="1" face="Verdana">E-Mail:</font></td> <td width="408"><input type="text" name="email" size="20" style="font-family: Verdana; font-size: 8 pt; border: 1 solid #000000"></td> </tr> <tr> <td width="88"><font size="1" face="Verdana">Artigo:</font></td> <td width="408"><textarea rows="15" name="artigo" cols="65" style="font-family: Verdana; font-size: 8 pt; border: 1 solid #000000"></textarea></td> </tr> <tr> <td width="88"><font size="1" face="Verdana">Tamanho:</font></td> <td width="408"><input type="text" name="tamanho" size="20" style="font-family: Verdana; font-size: 8 pt; border: 1 solid #000000"></td> </tr> <tr> <td width="88"><font size="1" face="Verdana">Foto:</font><input type="hidden" name="MAX_FILE_SIZE" value="614400"></td> <td width="408"><input name="foto_news" type="file" id="foto_news" size="53" style="font-family: Verdana; font-size: 8 pt; border: 1 solid #000000"></td> </tr> <tr> <td width="88"> </td> <td width="408"> </td> </tr> <tr> <td width="88"></td> <td width="408"><input type="submit" value="Adicionar" name="submit" style="font-family: Verdana; font-size: 8 pt; color: #FFFFFF; background-color: #616161; border: 1 solid #000000"></td> </tr> </table><input type="hidden" name="data_atual" value="'.$data.'"></form> </body> </html> '); } elseif($acao=="add") { echo $_FILES['foto_news']['tmp_name']."<br><br>".$_FILES['foto_news']['name']; if(!$artigo){ print("Preencha todos o campo notícia!"); } elseif ($_FILES['foto_news']['name'] != "") { move_uploaded_file($_FILES['foto_news']['tmp_name'], "../imagens/news/".$_FILES['foto_n']['name']); $foto_news_1 = $_FILES['foto_n']['name']; $cadas = mysql_query("INSERT INTO pna_artigos (titulo, autor, email, artigo, tamanho, data, foto) VALUES ('$titulo', '$autor', '$email', '$artigo', '$tamanho', '$data_atual', '$foto_news_1')") or print(mysql_error()); echo "<font face=verdana size=1 color=red>Notícia e Foto adicionadas com sucesso!<br> <a href=adicionar.php>Voltar</a></font>"; } else { $cadas = mysql_query("INSERT INTO pna_artigos (titulo, autor, email, artigo, tamanho, data) VALUES ('$titulo', '$autor', '$email', '$artigo', '$tamanho', '$data_atual')") or print(mysql_error()); echo "<font face=verdana size=1 color=red>Notícia adicionada com sucesso!<br> <a href=adicionar.php>Voltar</a></font>"; } } else { } } ?> só q está dando esse erro /tmp/phpZgUE90 bandeira.jpg Warning: move_uploaded_file(../imagens/news/) [function.move-uploaded-file]: failed to create stream: Is a directory in /home/usina/public_html/scripts/news/news/admin/adicionar.php on line 100 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpZgUE90' to '../imagens/news/' in /home/usina/public_html/scripts/news/news/admin/adicionar.php on line 100 Notícia e Foto adicionadas com sucesso! Voltar o diretório de destino está criado e a permissão dele é 777 Como faço para consertar esse script, já que em outra página, ele roda beleza Compartilhar este post Link para o post Compartilhar em outros sites
rfsbsb 0 Denunciar post Postado Julho 17, 2003 Prezado boss_zy0n, Recomendo que você use algo como o código abaixo, pois assim você não precisa dar permissão 777 pro seu dirtório, basta deixar a permissão original(usada normalmente para enviar arquivos por ftp). O código abaixo assume que no seu formulário, o FILE do html se chame "arquivo", caso não seja esse o nome, troque todas as partes que se chamam arquivo no código abaixo para o nome do seu campo. $ftphost = "ftp.dominio.com.br"; //troque pelo seu endereco de ftp$ftpuser = "usuario_ftp"; //troque pelo seu usuário de ftp$ftppass = "senha_ftp"; //troque pela sua senha de ftp$ftp = ftp_connect($ftphost);ftp_login ($ftp, "$ftpuser", "$ftppass");if (ftp_put($ftp, $ftpdir.$arquivo_name, $arquivo, FTP_BINARY)) echo "O arquivo $arquivo_name foi enviado com sucesso";else echo "ERRO PARA ENVIAR ARQUIVO";ftp_close($ftp); Espero que ajude... Atenciosamente, Rafael Silva Programador Compartilhar este post Link para o post Compartilhar em outros sites
boss_zy0n 0 Denunciar post Postado Julho 23, 2003 Prezado boss_zy0n,Recomendo que você use algo como o código abaixo, pois assim você não precisa dar permissão 777 pro seu dirtório, basta deixar a permissão original(usada normalmente para enviar arquivos por ftp).O código abaixo assume que no seu formulário, o FILE do html se chame "arquivo", caso não seja esse o nome, troque todas as partes que se chamam arquivo no código abaixo para o nome do seu campo. $ftphost = "ftp.dominio.com.br"; //troque pelo seu endereco de ftp$ftpuser = "usuario_ftp"; //troque pelo seu usuário de ftp$ftppass = "senha_ftp"; //troque pela sua senha de ftp$ftp = ftp_connect($ftphost);ftp_login ($ftp, "$ftpuser", "$ftppass");if (ftp_put($ftp, $ftpdir.$arquivo_name, $arquivo, FTP_BINARY)) echo "O arquivo $arquivo_name foi enviado com sucesso";else echo "ERRO PARA ENVIAR ARQUIVO";ftp_close($ftp);Espero que ajude...Atenciosamente,Rafael SilvaProgramador aquela maneira q você me disse é muito legal, mas tenho q ficar criando usuário de ftp para cada pessoa q use o script e isso não é legalconsegui fazer com o upload via php, da maneira q eu queria e salvando o caminho no banco de dados.Ficou bacana, pq posso configurá-lo como quiser...Só q tenho q dar permissão 777 no diretório de upload, mas isso é belezaObrigado e qualquer coisa é só contactar Compartilhar este post Link para o post Compartilhar em outros sites