Ir para conteúdo

POWERED BY:

Arquivado

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

Luciano Felli

Upload e renomear fotos

Recommended Posts

Bom dia galera, estou tendo dificuldade em fazer upload de fotos:

 

 

------------------------------------------------------------------------------------------

FORMULÁRIO

------------------------------------------------------------------------------------------

<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /></head><body><form action="photos_upload2.php" method="post" enctype="multipart/form-data" name="form1">  <input name="file" type="file">  <label><input type="submit" name="Submit" value="Enviar"></label></form></body></html>

 

------------------------------------------------------------------------------------------

SCRIPT DE UPLOAD

------------------------------------------------------------------------------------------

<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /></head><body><?$file=$_POST['file'];copy($file, $file);?></body></html>

 

O estranho é que não aparece nenhuma mensagem de erro, procuro a imagem no servidor e também não aparece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca usei o copy();Mas dá pra fazer por move_uploaded_file();$foto = $_FILES['file'];$temp = $_FILES['file']['tmp_name'];$nome = "o_nome_do_seu_arquivo_e_a_extensão";$pasta = "arquivos/";$dir = $pasta.$nome;move_uploade_file($temp, $dir);Não testei, mas é pra funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei o sequinte código

<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /></head><body><? // Insere dados no MySQL$descricao=$_POST['descricao'];mysql_query ("INSERT INTO ml_fotos (descricao) VALUES ('$descricao')", $conexao) or die (mysql_error());// Seleciona a base de dados$query = "SELECT * FROM  ml_fotos ORDER BY DESC LIMIT 1";$rs = mysql_query($query,$conexao); while ($linha = mysql_fetch_array($rs)) {// Faz upload da foto$foto = $_FILES['file'];$temp = $_FILES['file']['tmp_name'];$nome = $linha['id'];$pasta = "photos/";$dir = $pasta.$nome;move_uploaded_file($temp, $dir);}?></body></html>
E fica dando o erro

"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/restricted/home/newvector/public_html/fun/admin/photos_upload2.php on line 17"

 

Ou seja dá erro na linha

$query = "SELECT * FROM ml_fotos ORDER BY DESC LIMIT 1";

 

Alguém pode me dar uma ajuda?

 

Obs. Coloquei um include que conten dados do mysql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste assim e veja se é retornado algum erro:

 

$query = "SELECT * FROM  ml_fotos ORDER BY DESC LIMIT 1";
$rs = mysql_query($query,$conexao) or die (mysql_error());

E como o Tiago Araujo disse, aquele while está sem sentido, pois o número de arquivos enviados pelo formulário não será, necessariamente, o total de registros da tabela.

 

Se você tiver mais de um campo para upload, dê a todos o mesmo nome (file, por exemplo, e faça o loop assim:

 

for ($c = 0; $c < count ($_FILES['file']); $c++)
{
	//upload
}

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

aparece a msg

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC LIMIT 1' at line 1"

 

E preciso do while porque preciso recuperar o último registro, aonde o id do registro será o nome da foto.

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.