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

aparece isto Notice: Undefined index: my_field in C:\wamp\www\Wellington\PHP\UPLOAD\upload.php on line 16

o erro está dando na linha do FOR linah 16

if ($_POST['acao'] == 'imagem') {
	
	for($i=0;$i < count($_FILES['my_field']['name']);$i++){ <-----  linha 16
		echo $_FILES['my_field']['name'][$i]."<br />";
	}
	exit;

<p><input type="file" size="32" name="imagem[]" value="" /></p>
			<p><input type="file" size="32" name="imagem[]" value="" /></p>
			<p><input type="file" size="32" name="imagem[]" value="" /></p>
			<p><input type="hidden" name="acao" value="imagem" /></p>
seria isto mesmo ? estou fazendo algo errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui você chama a variável como $_FILES['my_field']['name']. Só que o nome do campo está como imagem[].

 

Faz assim...

 

if ($_POST['acao'] == 'imagem') {
	echo '<pre>';
	print_r($_FILES);
	exit;
	for($i=0;$i < count($_FILES['my_field']['name']);$i++){ <-----  linha 16
		echo $_FILES['my_field']['name'][$i]."<br />";
	}
	exit;

Vai exibir o array completo que está vindo do formulário.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Array

(

[imagem] => Array

(

[name] => Array

(

[0] => teste.jpg

[1] => Inverno.jpg

[2] => Montanhas azuis.jpg

[3] =>

[4] =>

[5] =>

[6] =>

[7] =>

[8] =>

[9] =>

[10] =>

[11] =>

)

 

[type] => Array

(

[0] => image/pjpeg

[1] => image/pjpeg

[2] => image/pjpeg

[3] =>

[4] =>

[5] =>

[6] =>

[7] =>

[8] =>

[9] =>

[10] =>

[11] =>

)

 

[tmp_name] => Array

(

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

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

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

[3] =>

[4] =>

[5] =>

[6] =>

[7] =>

[8] =>

[9] =>

[10] =>

[11] =>

)

 

[error] => Array

(

[0] => 0

[1] => 0

[2] => 0

[3] => 4

[4] => 4

[5] => 4

[6] => 4

[7] => 4

[8] => 4

[9] => 4

[10] => 4

[11] => 4

)

 

=> Array

(

[0] => 71189

[1] => 105542

[2] => 28521

[3] => 0

[4] => 0

[5] => 0

[6] => 0

[7] => 0

[8] => 0

[9] => 0

[10] => 0

[11] => 0

)

 

)

 

)

ja q ele está pegando o nome das imagens eu teria que tirar o

echo '<pre>';

print_r($_FILES);

exit;

e o

exit

depois do meu FOR certo ?

se eu tiro aparece a seguinte mensagem

 

Notice: Undefined index: my_field in C:\wamp\www\Wellington\PHP\UPLOAD\upload.php on line 16

 

Notice: Undefined index: my_field in C:\wamp\www\Wellington\PHP\UPLOAD\upload.php on line 19

file not uploaded on the serverError: File error. Please try again

alinha 16 seria a do FOR e a linha 19 seria está

 

$handle = new Upload($_FILES['my_field']['name'][$i]);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois de muito tempo finalmente consigo fazer o upload das imagens só que gostaria que alguem pude-se me ajudar para garvar o nome das imagens no banco de dados pois eu estou renomeando as imagens com o nome de FOTO e se a pessoa postar outra foto ae vai para FOTO_1 , FOTO_2 , FOTO_3 ect.

Se eu der um echo como no final do codigo eu consigo pegar o a verdadeiro nome da imagen mas como eu estou renomeando elas eu não posso pegar o nome original e sim o nome dela já renomeadas com _1, _2, _3 alguem pode me ajudar ?

já tenti dar um echo na $handle->file_new_name_body, echo na variavel $files, $file e nada as vezes só me aparece na tela Array e nada de mostrar o nome da imagem renomeada para q eu posso gravar no banco .

 

<?php
error_reporting(E_ALL); 
include('class.upload.php');
	if ($_FILES['imagem']) {
		$files = array();
		foreach ($_FILES['imagem'] as $k => $l) {
			foreach ($l as $i => $v) {
				if (!array_key_exists($i, $files)) 
					$files[$i] = array();
					$files[$i][$k] = $v;
				}
			}
			foreach ($files as $file) {
				$handle = new Upload($file);
				if ($handle->uploaded) {
					$handle->image_resize			= true; 		
					$handle->image_ratio_y		   = false;		
					$handle->image_x				 = 800;			
					$handle->image_y				 = 600;			
					$handle->file_new_name_body =	"foto";		// Aqui é onde eu renomeio as imagens
					$handle->Process("imagens/");
					echo $TESTE = $_FILES['imagem']['name'][0] = $handle->file_new_name_body = "foto";
					$handle-> Clean();
				}// Fecha if ($handle->uploaded)
		}// Fecha foreach
	}//Fecha if ($_POST['action'] == 'multiple')
	echo $_FILES['imagem']['name'][0]."<br />";
	echo $_FILES['imagem']['name'][1]."<br />";
	echo $_FILES['imagem']['name'][2]."<br />";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pega o nome original logo apos que foi feito o upload, ou seja, nas primeiras do tratamento do arquivo.

Depois deixe o script rolar normalmente, renomeando a foto e etc.

 

Então André eu sei que eu devo pegar os nomes das imagens depois que foi feito o upload o problema é que eu quero pegar o nome delas já renomeados pq se eu pegar o nome original delas, na hora de eu mostrar ela na galeria, não iria mostrar pois as fotos teriam sidas renomeadas para FOTO_1, FOTO_2 e eu teria gravado no banco os nomes originais.

 

para pegar os nomes das fotos originisl eu sei que eu pega elas assim :

$_FILES['imagem']['name'][0]
mas elas renomeadas eu nã sei como pegar

Compartilhar este post


Link para o post
Compartilhar em outros sites

não estou conseguindo pegar os nomes das fotos já renomeados para gravar no banco ja tentei

 

echo $file_name_body;

echo $handle->file_name_body;

echo $files;

echo $file;

echo $handle->files;

echo $handle->file;

echo $files[0];

echo $file[0];

echo $handle->files[0];

echo $handle->file[0];

echo $_FILES['imagem']['name'][0]; .........> só que aqui ele vai pegar o nome original da foto e eu preciso do nome renomeado

E eu não estou entendendo este comando $handle desta classe.ulpoad.php

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.