Ir para conteúdo

POWERED BY:

Arquivado

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

Wellington09

Gravar nome da imagem no banco

Recommended Posts

Pessoal editel o meu post pra ficar mais facil de entender.

 

UPLOAD.PHP

<?php
error_reporting(E_ALL); 

// Aqui incluimos a classe upload
include('class.upload.php');

// Verificamos se a acao é igual a imagem
if ($_POST['acao'] == 'imagem') {

	// Instanciamos o objeto Upload
	$handle = new Upload($_FILES['imagens']);

	// Então verificamos se o arquivo foi carregado corretamente
	if ($handle->uploaded) {
		
		// Definimos as configurações desejadas da imagem maior
		$handle->image_resize			= true;
		$handle->image_ratio_y		   = false;
		$handle->image_x				 = 800;
		$handle->image_y				 = 600;
		/*
		$handle->image_watermark		 = 'watermark.png';
		$handle->image_watermark_x	   = -10;
		$handle->image_watermark_y	   = -10;
		$handle->image_bevel = 20;
		$handle->image_bevel_color1 = '#FF0000';
		$handle->image_reflection_height = '25%';
		$handle->image_reflection_space = -6;
		*/

		// Definimos a pasta para onde a imagem maior será armazenada
		$handle->Process('./img/imgimoveis/');
		
		// Em caso de sucesso no upload podemos fazer outras ações como insert em um banco de cados
		if ($handle->processed)
		{
			// Eximos a informação de sucesso ou qualquer outra ação de sua escolha
			echo '<p>Operação realizada com sucesso!</p>';
			echo "Aqui podemos fazer um INSERT no banco";
		}
		else
		{
			// Em caso de erro listamos o erro abaixo
			echo '<p>Erro encontrado!</p>';
			echo 'Erro: ' . $handle->error . '';
		}		

		// Aqui nos devifimos nossas configurações de imagem do thumbs
		$handle->image_resize			= true;
		$handle->image_ratio_y		   = false;
		$handle->image_x				 = 100;
		$handle->image_y					= 75;
		$handle->image_contrast		  = 10;
		$handle->jpeg_quality			= 70;
		$handle->file_new_name_body =	"1";

		// Definimos a pasta para onde a imagem thumbs será armazenada
		$handle->Process('./img/thumbs/');
		
		// Excluimos os arquivos temporarios
		$handle-> Clean();

	}
	else
	{
		// Em caso de erro listamos o erro abaixo
		echo '<fieldset>';
		echo '  <legend>file not uploaded on the server</legend>';
		echo '  Error: ' . $handle->error . '';
		echo '</fieldset>';
	}
}

echo '<p><a href="index.html">Voltar</a></p>';
// Aqui somente recupero o nome da imagem caso queira fazer um insert em banco de dados
$nome_da_imagem = $handle->file_dst_name;

echo $nome_da_imagem;
?>
FORMULARIO.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>
</head>
<body>
		<form name="form2" enctype="multipart/form-data" method="post" action="upload.php" />
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p class="button"><input type="hidden" name="acao" value="imagem" /></p>
			<button type="submit">Enviar</button>
		</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria assim ?

for($i=0;$teste= $_FILES['foto'];$i++)

{

echo $teste;

}

e ae eu colocaria o $teste['0'] depois $teste['1'] até a quantidade das inputs no meu insert do mysql

 

PQ eu já tinha feito isso e ta dando a seguinte mesagem de erro

Fatal error: Function name must be a string in C:\wamp\www\upload de imagem\upload.php on line 89

Compartilhar este post


Link para o post
Compartilhar em outros sites

PQ eu já tinha feito isso e ta dando a seguinte mesagem de erro

Fatal error: Function name must be a string in C:\wamp\www\upload de imagem\upload.php on line 89

Esse erro não tem nenhuma ligação com o loop.

"O nome da função deve ser uma string na linha 89"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cassiano o problema que estou tendo é pegar os nomes das imagens e jogar no banco de dados

fiz o exemplo que você mostrou com for e mesmo assim não consegui to desde o dia q você postou tentando fazer e nada de consguir você poderia me ajudar ?

Seu EXEMPLO:

for($i=0;$i < count($_FILES['foto']['name']);$i++)
{
	echo $_FILES['foto']['name'][$i];
}

 

Ai eu mudei para

 

Meu EXEMPLO:

for($i=0;$i < count($_FILES['imagens']['name']);$i++)
{
	echo $_FILES['foto']['imagens'][$i];
}

[color="#2F4F4F"]E eu coloquei este FOR dentro de um IF onde se encontra este echo "Aqui podemos fazer um INSERT no banco";[/color]

[color="#FF0000"]$insere = "INSERT INTO tbfoto (imagens1,imagen2,imagens3, e vai vai...) VALUES ('$_FILES['imagens']['imagens'][0]','$_FILES['imagens']['name'][1]','$_FILES['imagens']['name'][2]', e ai vai...)";
$resultado = mysql_query($insere) or die ("Erro ao cadastrar a foto");[/color]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce ta fazendo um campo no MySQL para cada imagem?

Não é melhor fazer um campo apenas, e inserir vários registros?

Ai você complica minha vida rs ...já não to conseguindo com cada imagem ter seu campo no banco , como eu vou colocar todas as imagens em um campo só e depois saber qual é a imagem 1.jpg,teste,jpg,forum.jpg tendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz a seguinte alteração no meu codigo e o resto ficou a mesma coisa como no primeiro codigo que postei no forum

if ($_POST['acao'] == 'imagem') {

for($i=0;$i < count($_FILES['imagens']['name']);$i++){
echo $_FILES['imagens']['name'][$i]."<br />";
}
$teste = $_FILES['imagens'];
echo "<pre>";
print_r($teste);
echo "</pre>";
// Instanciamos o objeto Upload
$handle = new Upload($teste);

Retornou isto: e agora não fez upload de nenhuma imagem e deu a mensagem de erro

 

imgteste.jpg

imgteste.jpg

imgteste.jpg

imgteste.jpg

imgteste.jpg

imgteste.jpg

imgteste.jpg

imgteste.jpg

imgteste.jpg

imgteste.jpg

imgteste.jpg

imgteste.jpg

 

Array

(

[name] => Array

(

[0] => imgteste.jpg

[1] => imgteste.jpg

[2] => imgteste.jpg

[3] => imgteste.jpg

[4] => imgteste.jpg

[5] => imgteste.jpg

[6] => imgteste.jpg

[7] => imgteste.jpg

[8] => imgteste.jpg

[9] => imgteste.jpg

[10] => imgteste.jpg

[11] => imgteste.jpg

)

 

[type] => Array

(

[0] => image/jpeg

[1] => image/jpeg

[2] => image/jpeg

[3] => image/jpeg

[4] => image/jpeg

[5] => image/jpeg

[6] => image/jpeg

[7] => image/jpeg

[8] => image/jpeg

[9] => image/jpeg

[10] => image/jpeg

[11] => image/jpeg

)

 

[tmp_name] => Array

(

[0] => C:\wamp\tmp\php6AE.tmp

[1] => C:\wamp\tmp\php6AF.tmp

[2] => C:\wamp\tmp\php6B0.tmp

[3] => C:\wamp\tmp\php6B1.tmp

[4] => C:\wamp\tmp\php6B2.tmp

[5] => C:\wamp\tmp\php6B3.tmp

[6] => C:\wamp\tmp\php6B4.tmp

[7] => C:\wamp\tmp\php6B5.tmp

[8] => C:\wamp\tmp\php6B6.tmp

[9] => C:\wamp\tmp\php6B7.tmp

[10] => C:\wamp\tmp\php6B8.tmp

[11] => C:\wamp\tmp\php6B9.tmp

)

 

[error] => Array

(

[0] => 0

[1] => 0

[2] => 0

[3] => 0

[4] => 0

[5] => 0

[6] => 0

[7] => 0

[8] => 0

[9] => 0

[10] => 0

[11] => 0

)

 

=> Array

(

[0] => 142852

[1] => 142852

[2] => 142852

[3] => 142852

[4] => 142852

[5] => 142852

[6] => 142852

[7] => 142852

[8] => 142852

[9] => 142852

[10] => 142852

[11] => 142852

)

 

)

 

file not uploaded on the server Error: File upload error (unknown error code)

Compartilhar este post


Link para o post
Compartilhar em outros sites

if ($_POST['acao'] == 'imagem') {

for($i=0;$i < count($_FILES['imagens'][name]);$i++){
echo $_FILES['imagens'][name][$i]."<br />";

// Dentro deste loop tu coloca uma query do mysql para inserir cada imagem no banco de dados.

}
$teste = $_FILES['imagens'];
echo "<pre>";
print_r($teste);
echo "</pre>";
// Instanciamos o objeto Upload
$handle = new Upload($teste);

Não seria isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

alguem poderia me ajudar a fazer upload de multiplas imagens com o class.upload.php e gravar no banco ? pois não estou conseguindo.

se eu deixar o meu html assim

<p><input type="file" size="32" name="imagem" value="" /></p>
e deixar o meu php assim

$handle = new Upload($_FILES['imagem']);
ele faz o upload da imagem.

 

Agora se eu tentar fazer upload multiplo ele não faz upload.

gostaria que alguem pude-se me ajudar em relação a isto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo pq você naum tenta fazer assim

 

<input type="file" name="file[]" />

<input type="hidden" name="cps" value="0" id="cps" /> este campo você deixa logo depois do botão submit e faz uma contagem de quantas imagens vão ser enviadas

 

<?php
for($i=0;$i<$cps;$i++){
$name  = $f_name[$i];
$file  = explode(".",$name);
$filec = count($file);
$filec = $filec-1;
$file  = $file[$filec];

echo ""enviado";
}else{
echo "deu problema";
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu acho que você quis dizer meu arquivo de upload neh ? pois a class.upload.php não se meche ela tem q ficar do jeito que é.

 

meu arquivo de UPLOAD.PHP no exemplo a baixo só faz upload de um arquivo

 

<?php
error_reporting(E_ALL); 

// Aqui incluimos a classe upload
include('class.upload.php');

// Verificamos se a acao é igual a imagem
if ($_POST['acao'] == 'imagem') {

/*	
	for($i=0;$i < count($_FILES['imagens']['name']);$i++){
		echo $_FILES['imagens']['name'][$i]."<br />";
	}
	$teste = $_FILES['imagens'];
	echo "<pre>";
	print_r($teste);
	echo "</pre>";
*/	

// Instanciamos o objeto Upload
	$handle = new Upload($_FILES['imagem']);

	// Então verificamos se o arquivo foi carregado corretamente
	if ($handle->uploaded) {
		
		// Definimos as configurações desejadas da imagem maior
		$handle->image_resize			= true;
		$handle->image_ratio_y		   = false;
		$handle->image_x				 = 800;
		$handle->image_y				 = 600;
		$handle->file_new_name_body =	"foto";
	  /*
		$handle->image_watermark		 = 'watermark.png';
		$handle->image_watermark_x	   = -10;
		$handle->image_watermark_y	   = -10;
		$handle->image_bevel = 20;
		$handle->image_bevel_color1 = '#FF0000';
		$handle->image_reflection_height = '25%';
		$handle->image_reflection_space = -6;
		*/

		// Definimos a pasta para onde a imagem maior será armazenada
		$handle->Process('./img/imgimoveis/');
		
		// Em caso de sucesso no upload podemos fazer outras ações como insert em um banco de cados
		if ($handle->processed)
		{
			echo '<p>imagem enviado com sucesso!</p>';
			echo "colocar meu insert no banco aqui";
		}
		else
		{
			// Em caso de erro listamos o erro abaixo
			echo '<p>Erro encontrado!</p>';
			echo 'Erro: ' . $handle->error . '';
		}		

		// Aqui nos devifimos nossas configurações de imagem do thumbs
		$handle->image_resize			= true;
		$handle->image_ratio_y		   = false;
		$handle->image_x				 = 100;
		$handle->image_y				 = 75;
		$handle->image_contrast		  = 10;
		$handle->jpeg_quality			= 70;
		$handle->file_new_name_body =	"1";

		// Definimos a pasta para onde a imagem thumbs será armazenada
		$handle->Process('./img/thumbs/');
		
		// Excluimos os arquivos temporarios
		$handle-> Clean();

	}
	else
	{
		// Em caso de erro listamos o erro abaixo
		echo '<fieldset>';
		echo '  <legend>file not uploaded on the server</legend>';
		echo '  Error: ' . $handle->error . '';
		echo '</fieldset>';
	}
}

echo '<p><a href="index.html">Voltar</a></p>';
// Aqui somente recupero o nome da imagem caso queira fazer um insert em banco de dados
$nome_da_imagem = $handle->file_dst_name;

echo $nome_da_imagem;
?>

 

 

meu HTML é este que estou usando INDEX.HTML

<!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>
</head>
<body>
		<form name="form2" enctype="multipart/form-data" method="post" action="upload.php" />
			<p><input type="file" size="32" name="imagem" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="file" size="32" name="imagens[]" value="" /></p>
			<p><input type="hidden" name="acao" value="imagem" /></p>
			<button type="submit">Enviar</button>
		</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

a classe mesmo ^^ quero ve como ela funciona para poder te ajuda...

pois a class.upload.php não se meche ela tem q ficar do jeito que é.

pq nao ? ^^ mas relaxa nao quero muda ela ... so quero ve como ela funciona mesmo :D

 

valww

Compartilhar este post


Link para o post
Compartilhar em outros sites

testa pega o nome da imagem assim ..

$_FILES['my_field']['name']

se nao der você vai te que revira essa classe procurando qual a variavel que ele atribuiu ao nome ( provavelmente que ele tenha criado o nome)... e acessa ela...

 

valww

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.