Ir para conteúdo

POWERED BY:

Arquivado

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

henriqueguedes

multiplo Upload de Imagem com thundball e caminho no mysql

Recommended Posts

ai beleza a galera esse e primeiro script espero que vcs gostem criticam sao sempre bem

vinda

 

 

index.html

[color= #009900;][url="http-~~-//december.com/html/4/element/html.html"]<HTML>[/url]
[url="http-~~-//december.com/html/4/element/head.html"]<HEAD>[/url]
 [url="http-~~-//december.com/html/4/element/title.html"]<TITLE>[/url]Novo Documento</TITLE>
</HEAD>
[url="http-~~-//december.com/html/4/element/style.html"]<style[/url] type="text/css">
*{ float:left;/*meninas todas para esquerda e quem chegar  ganhar um [url="http-~~-//december.com/html/4/element/br.html"]<br>[/url] */
clear:both;/*aqui o br qu e prometir*/
margin:1px;/*uma margin manera*/
}


</style>
[url="http-~~-//december.com/html/4/element/body.html"]<BODY>[/url]
  [url="http-~~-//december.com/html/4/element/form.html"]<form[/url] method="POST" enctype="multipart/form-data" action="manda.php">
  
   vamos ver agora :
    
   [url="http-~~-//december.com/html/4/element/input.html"]<input[/url] type="file" name="ball" >
   [url="http-~~-//december.com/html/4/element/input.html"]<input[/url] type="file" name="arquivo[]">
   [url="http-~~-//december.com/html/4/element/input.html"]<input[/url] type="file" name="arquivo[]">
   [url="http-~~-//december.com/html/4/element/input.html"]<input[/url] type="file" name="arquivo[]">

   [url="http-~~-//december.com/html/4/element/input.html"]<input[/url] type="submit" name="submit" value="upload">
</form>
</BODY>
</HTML>

 

 

 

******manda.php*********

PHP
<?php[/color]

 

/***********************************

http://www.jellyandcustard.com/2006/04/05/file-uploads/

inspirado nesse site  para esse script

 

************************************/

 

function conecta_php() {

$host="imysql01";

$user="i3980426";

$senha= "4l397ay41tx8hehd";

$banco="i3980426";

$conect = mysql_connect($host,$user,$senha)or die("deu erro e mole");

 mysql_select_db($banco)or die ("o banco sumiu");

}

 

 

 $dir="./imagem/";//caminho no caso de um window

// para onde vai as imagem */

 

 /* $caminho_mysql="localhost/upload/imagem/";

  caminho para o mysql achar quando você for chama

 comentei $caminho-mysql e no sei o seu caminho ai */

 

  $ball=$_FILES['ball']['name'];

  //recebendo a imagem

 

  $caminho1=$dir.$ball;

  //caminho com nome da imagem e local para guardar

 

 

  if(move_uploaded_file($_FILES['ball']['tmp_name'],$caminho1))

  //aqui nada  especial so movo a tmp_name dando caminho

 

 

   {

  list($largura,$altura,$tipo)=getimagesize($caminho1);

/* baseado no caminho do move_upload($caminho1)

 tu sabe que list faz ???/

 essa função getimagesize ele tem uma array com as informações de imagem

 ela retorna quatros elementos de uma imagem

0-largura

1-altura

2-tipo ser   e uma jpg  ou png gif

dentro  de tipo o gif e 1,jpg 2 e 3 png

$atributos  tem a  largura e altura da imagem

entendeu

seu quiser sabe se   a imagem  e um jpg

 e so faze r

*if($tipo=2) {

  echo $imagem1 ."is jpg";

  exit ();

  } */

 

 

  $imagem = imagecreatefromjpeg($caminho1);

 

  // aqui eu pego a imagem no  caminho  e jogo na memoria

  $Thumbnail = imagecreatetruecolor(75, 75);

 

  // diminuir a imagem preservado  as cores e diminiudo a imagem

  imagecopyresampled($Thumbnail, $imagem, 0, 0, 0, 0, 75, 75, $largura, $altura);

  //sample da imagem com os tamanho 75 x75

 

 imagejpeg($Thumbnail,$dir.'/pequena_'.$ball);

 //$dir esta la em cima esqueceu aqui a imagem vai pequena

// criando a imagem

$pequena=$caminho_mysql.'pequena_'.$ball;

 /*aqui eu criei uma variavel para o mysql ja que o caminho final e la

 

 gere a imagem e coloco no Diretorio de imagem

 e ganhar uma nova imagem algo tipo pequena_image que veio para mim.jpg */

   }

 

    $image=$_FILES['arquivo'];

 

 

    //aqui eu recebo a imagem olha o formulario  la arquivo []

 

  for($i=0; $i < sizeof($image);$i++)

 

  /*aqui e um for  para organizar o bando

 */

   {

 

   /* o bando   vai ser organizado aqui

  virando um array manero e claro depois que eu

coloque a minha matriz[] */

  $nome=$_FILES ['arquivo']['name'][$i];

  $tamanho=$_FILES ['arquivo']['size'][$i];

  $tipo=$_FILES ['arquivo']['type'][$i];

  $tmpname=$_FILES ['arquivo']['tmp_name'][$i];

  $matriz[]=$nome;

  /* pq eu precisava desse campo com o array livre

  para os campo do  mysql*/

  $caminho=$dir.$nome;

 

 

  if($tamanho > 0 && strlen($nome) > 1)

 

//aqui e natural no e ???

//ver se tem algo pra eu movei baseado no campo

//de repente o cara  coloco um imagem no ultimo campo

//eu to ferrado   para jogar

    {

 

 

  // endereço completo e o caminho para onde vai as imagem

 

  if(move_uploaded_file($tmpname,$caminho)){

 

      echo   'imagem' . ($i+1) . ' enviada.<br/>';

        /* Faz contagem   baseada no campo

 pq $i+1 pq veja a minha matriz como esta organizada

use o var_dump para melhor referencia */

                        }

          //primeiro if fechado

       }

       //segundo if fechado

          }

     //fecho  for

 

 

 

 

conecta_php();

// aqui e funcao digimon

 

$vamos="Insert into produto (id,foto1,foto2,foto3,foto4,pequena)VALUES ('','$ball','$matriz[0]','$matriz[1]','$matriz[2]','$pequena')";

// como geral  gosta de separa

$vai=mysql_query($vamos)or die("deu erro aqui");

 

/*e la os fotos vai o mysql

 

// como estamos trabalhando ???

 

 

eu separei para geral pode  ideia pra  conseguir altera

 

qualquer duvida e so dizer

eu podia te feito tudo no for para o script se menor ainda

 

*/

var_dump($ball)."<br>";

var_dump ($matriz)."<BR>";

var_dump ($pequena);

?>

 

 

***********************

sql.txt

-- phpMyAdmin SQL Dump

-- version 2.8.1

-- http://www.phpmyadmin.net

--

-- Servidor: localhost

-- Tiempo de generación: 28-08-2006 a las 14:46:21

-- Versión del servidor: 5.0.22

-- Versión de PHP: 5.1.4

--

-- Base de datos: `test`

--

 

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

 

--

-- Estructura de tabla para la tabla `produto`

--

 

CREATE TABLE `produto` (

`id` int(11) NOT NULL auto_increment,

`foto1` varchar(255) NOT NULL,

`foto2` varchar(255) NOT NULL,

`foto3` varchar(255) NOT NULL,

`foto4` varchar(255) NOT NULL,

`pequena` varchar(255) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

 

--

-- Volcar la base de datos para la tabla `produto`

--

 

INSERT INTO `produto` VALUES (1, 'Logo01.jpg', 'Logo02.jpg', 'Logo03.jpg', '', 'pequena_Logo01.jpg');

esse aqui meu script

espero que gostei

 

um abraço so pelo comentario da pra geral muda e adaptar conforme seu desejo

e gentilmente da uma lida no site de inpiração tem muito coisa que o americano completa

esse post ]

cordialment e

 

kakaroto

http://www.obsidiann.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Henrique gostei desse seu post, me ajudou muito juntei ele como o que eu tinha feito e consegui quase tudo o que eu queria, faltou uma coisa e gostaria de saber se você pode me ajudar, esse é meu código:

 

if(isset($_POST['inserir'])){//---------------------------------------- LOOP PARA GERAR AS IMAGENS -------------------------------------------$imagens = $_FILES['arquivo'];for($g=0; $g < sizeof($imagens); $g++)// for ($g = 0; $g < count($imagens); $g++)if($nome = $_FILES['arquivo']['name'][$g] != ""){ // para campos vazios{	$nome = $_FILES['arquivo']['name'][$g];	$tipo = $_FILES['arquivo']['type'][$g];	$tmpname = $_FILES['arquivo']['tmp_name'][$g];	$renomear = md5(uniqid(rand(), true)); // nome aleatorio	$nome_grande  = ($renomear . "-g.jpg"); // cria nome da imagem	$nome_thumb  = ($renomear . "-p.jpg"); // cria nome da imagem		$matriz[] = $nome_grande;	$matriz_thumb[] = $nome_thumb;		$pasta_imagens = "../img_arquivos/"; //diretorio pra onde vai a imagem	$caminho = $pasta_imagens . $nome; // caminho com nome da imagem e local para guardar	//---------------------------------- CRIAR IMAGEM PROPORCIONAL -------------------------------------------	if(move_uploaded_file($tmpname, $caminho)) // move a tmp_name pro caminho dado	{		list($pontoX, $pontoY, $tipo) = getimagesize($caminho);		$img = imagecreatefromjpeg($caminho);		$largura_maxima = 500; //largura máxima		$altura_maxima = 600; //altura máxima			if ($pontoX == $pontoY) { // se a altura e largura originais forem iguais			$largura = $largura_maxima;			$altura = $largura_maxima;			}			elseif ($pontoX >= $pontoY) { // se a largura for maior que a altura			$nova_largura = $largura_maxima;			$nova_altura = ($pontoY*$nova_largura)/$pontoX;				// mas se depois da redução a altura for maior que $altura_maxima então reduz novamente				if ($nova_altura >= $altura_maxima) {				$altura = $altura_maxima;				$largura = ($nova_largura*$altura)/$nova_altura;				}				else {				$largura = $largura_maxima;				$altura = ($pontoY*$largura)/$pontoX;				}			}			elseif ($pontoX <= $pontoY) { // se a largura for menor que a altura			$nova_altura = $altura_maxima; 			$nova_largura = ($pontoX*$nova_altura)/$pontoY;				// mas se depois da redução a largura for maior que a $largura_maxima então reduz novamente				if ($nova_largura >= $largura_maxima) {				$largura = $largura_maxima;				$altura = ($nova_altura*$largura)/$nova_largura;				}				else {				$altura = $altura_maxima; 				$largura = ($pontoX*$altura)/$pontoY;				}			}			$foto_grande = imagecreatetruecolor($largura, $altura); // aqui eu pego a imagem no caminho e jogo na memoria			imagecopyresampled($foto_grande, $img, 0, 0, 0, 0, $largura, $altura, $pontoX, $pontoY); // sample da imagem com o tamanho			imagejpeg($foto_grande, $pasta_imagens . $nome_grande, 80);			//---------------------------------- CRIAR THUMB DESPROPORCIONAL -------------------------------------------						$thumbnail = imagecreatetruecolor(41, 41); // aqui eu pego a imagem no caminho e jogo na memoria			imagecopyresampled($thumbnail, $img, 0, 0, 0, 0, 41, 41, $pontoX, $pontoY); // sample da imagem com o tamanho			imagejpeg($thumbnail, $pasta_imagens . $nome_thumb, 90);						unlink($caminho); // apaga a imagem original	} // if move_uploaded_file}// fecha if dos campso vazios} // for//---------------------------- Insere os novos dados no Banco de Dados -------------------------------------$sql = "insert into $TBimpresso (nome_categoria, titulo, descricao, foto1, foto1p, foto2, foto2p, foto3, foto3p, foto4, foto4p, thumb_princ) Values ('$nome_categoria','$titulo','$descricao','$matriz[0]','$matriz_thumb[0]','$matriz[1]','$matriz_thumb[1]','$matriz[2]','$matriz_thumb[2]','$matriz[3]','$matriz_thumb[3]','$thumb_principal')";$query = mysql_query($sql);	 }?>

a diferença desse pro seu é que faz o upload de todos os campos e cria duas imagens de tamanho diferentes pra cada um deles renomeia todos e depois exclui as imagens originais e salva tudo no BD.

tudo isso tá certo e funcionando, o que eu quero agora é cria uma thumb de outro tamanho só pra imagem do primeiro campo assim como você faz no seu só que meu primeiro campo tb é um array e não tô conseguindo fazer, tentei colocai isso na onício do código mas não funciona direito:

 

$nome_t = $_FILES['arquivo']['name'][0];	$tipo_t = $_FILES['arquivo']['type'][0];	$tmpname_t = $_FILES['arquivo']['tmp_name'][0];	$pasta_imagens = "../img_arquivos/"; //diretorio pra onde vai a imagem	$caminho_t = $pasta_imagens . $tmpname_t; // caminho com nome da imagem e local para guardar	if(move_uploaded_file($tmpname_t, $caminho_t)) // move a tmp_name pro caminho dado	{		list($pontoX, $pontoY, $tipo_t) = getimagesize($caminho_t);		$img_t = imagecreatefromjpeg($caminho_t);		$thumb = imagecreatetruecolor(41, 41); // aqui eu pego a imagem no caminho e jogo na memoria		imagecopyresampled($thumb, $img_t, 0, 0, 0, 0, 41, 41, $pontoX, $pontoY); // sample da imagem com o tamanho		imagejpeg($thumb, $pasta_imagens . $thumb_matriz, 75);				unlink($caminho_t); // apaga a imagem original				$renomear_t = md5(uniqid(rand(), true)); // nome aleatorio		$thumb_matriz = ($renomear_t . "-thumb.jpg"); // cria nome da imagem	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai fera, valew pelo codigo, ta show, so to com um pro aqui, ele grava no banco de dados mais não copia a imagem, o servidor é daqui mesmo da empresa, criei uma pasta com o nome de foto e dei permissão 777 pra ela, mas mesmo assim ele não faz o upload, mas quando vou na base de dados ta la, o deve ser? mais uma vez agradeço o codigo q você escreveu e aguardo sua resposta, abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

parabéns mesmo pelo script...muito bom fera...

só queria uma ajuda pra adaptar o seguinte:

 

ali ele ajusta 75 x 75 de tamanho. Tem como ele ajustar tipo 75 de largura por Altura automático? tipo calcular automaticamente a altura pela largura.....pra não ficar as vezes espichada..?

 

A pequena está sendo gerada pelo primeiro input. queria que gerasse para todos os inputs... há como?

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

parabéns mesmo pelo script...muito bom fera...

só queria uma ajuda pra adaptar o seguinte:

 

ali ele ajusta 75 x 75 de tamanho. Tem como ele ajustar tipo 75 de largura por Altura automático? tipo calcular automaticamente a altura pela largura.....pra não ficar as vezes espichada..?

 

A pequena está sendo gerada pelo primeiro input. queria que gerasse para todos os inputs... há como?

 

valeu

Não estou conseguindo fazer, poderia me ajudar?

 

montei os arquivos, porém aqui está dando isso:

 

 

PHP

Notice: Undefined variable: caminho_mysql in C:\wamp\www\foto\manda.php on line 70

 

Notice: Undefined offset: 3 in C:\wamp\www\foto\manda.php on line 91

 

Notice: Undefined offset: 3 in C:\wamp\www\foto\manda.php on line 92

 

Notice: Undefined offset: 3 in C:\wamp\www\foto\manda.php on line 93

 

Notice: Undefined offset: 3 in C:\wamp\www\foto\manda.php on line 94

 

Notice: Undefined offset: 4 in C:\wamp\www\foto\manda.php on line 91

 

Notice: Undefined offset: 4 in C:\wamp\www\foto\manda.php on line 92

 

Notice: Undefined offset: 4 in C:\wamp\www\foto\manda.php on line 93

 

Notice: Undefined offset: 4 in C:\wamp\www\foto\manda.php on line 94

 

Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'imysql01' (11004) in C:\wamp\www\foto\manda.php on line 15

deu erro e mole

 

 

o que eu faço?

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.