Ir para conteúdo

POWERED BY:

Arquivado

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

boss_zy0n

Erro com upload de arquivo via php

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.