Ir para conteúdo

POWERED BY:

Arquivado

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

Hamilcar

script para upload com insert no banco de dados

Recommended Posts

A nova versão está aqui:

 

http://forum.imasters.com.br/index.php...mp;#entry693489

 

Olá galera, vou postar un scripts que criei baseado em algun scripts postados inclusive aqui no site, estes scripts fazem o upload de imagem, redimencionando as mesmas e gravando informações no banco de dados, o usuário pode escolher entre mandar as informações com uma imagem relacionada a estas informações, ou pode simplismente não enviar nenhuma imagem tendo como padrão uma outra imagem pré-definida, ou pode simplesmente listar as imagens que estão no servidor escolhendo o nome de uma dessas imagens já salvas no servidor.

 

functionsUpload.php

<?php	function verifica_image($img)	{		// Verifica se o mime-type do arquivo é de imagem		if(eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $img["type"]))		{			return (TRUE);		}		return (FALSE);	}// fim verifica_image		function verifica_extensao_image($img)	{		// Pega extensão do arquivo		preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $img["name"], $ext);		return ($ext[1]);	}//fim verifica_extensao_imag		function verifica_dimensao_image($img, $max_x, $max_y)	{		$dimensaoImage = getimagesize($img["tmp_name"]);		$dimensao = '';		// Verifica largura		if($dimensaoImage[0] > $dimensaoImage[1])		{			if($dimensaoImage[0] > $max_x)			{				$dimensao = 'largura';			}		}		else		{			if($dimensaoImage[0] < $dimensaoImage[1])			{				if($dimensaoImage[1] > $max_x)				{					$dimensao = 'altura';				}			}			else			{				if($dimensaoImage[0] == $dimensaoImage[1])				{					if($dimensaoImage[0] > $max_x)					{						$dimensao = 'largura';					}				}			}		}		return ($dimensao);			}//fim verifica_dimensao_image		function reduz_imagem($img, $max_x, $max_y, $nome_foto) 	{		//pega o tamanho da imagem ($original_x, $original_y)		list($width, $height) = getimagesize($img);		$original_x = $width;		$original_y = $height;		// se a largura for maior que altura		if($original_x > $original_y) {			   $porcentagem = (100 * $max_x) / $original_x;	  		} 		else {			   $porcentagem = (100 * $max_y) / $original_y;		}		$tamanho_x = $original_x * ($porcentagem / 100);		$tamanho_y = $original_y * ($porcentagem / 100);		$image_p = imagecreatetruecolor($tamanho_x, $tamanho_y);		$image   = imagecreatefromjpeg($img);		imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);		return imagejpeg($image_p, $nome_foto, 100);	}//fim reduz_imagem?>

 

uploadImage.php

<?$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;$max_image_x = 128;$max_image_y = 80;$diretorio = 'imagens/';  //diretório onde esão as imagensif($arquivo){	$tamanho = getimagesize($arquivo["tmp_name"]);	ini_set ("max_execution_time", 3600); // uma hora	require_once "functionsUpload.php";	$err = FALSE;	if(is_uploaded_file($arquivo['tmp_name']))	{		if(verifica_image($arquivo))		{			$tamanho = getimagesize($arquivo["tmp_name"]);			$dimensiona = verifica_dimensao_image($arquivo, $max_image_x, $max_image_y);			if($dimensiona != '')			{				if($dimensiona == 'altura')				{						$auxImage = $max_image_x;						$max_image_x = $max_image_y;						$max_image_y = $auxImage;				}			}			else			{				$max_image_x = $tamanho[0];				$max_image_y = $tamanho[1];			}						$nome_foto  = ('imagem_' . time() . '.' . verifica_extensao_image($arquivo));// nome único para foto			$endFoto = $diretorio . $nome_foto;			if(reduz_imagem($arquivo['tmp_name'], $max_image_x, $max_image_y, $endFoto))			{				$err = TRUE;			}  		}	}}?>

 

listaFotos.php

<table border="1" align="center"> <?phprequire_once "functionsUpload.php";$dir = 'imagens'; //diretório onde estão as imagens$handle=opendir($dir);$i=0;$j = 0;while ($file = readdir($handle)) {if (eregi("jpg$",$file) || eregi("gif$",$file) || eregi("png$",$file)){if($i == 0 || $j == 5){	$j = 0;	echo('<tr>');}?><td align="center" valign="top"><img src=<?php echo($dir . '/' . $file) ?> width=128 height=96><br><font size=2><b><?php echo($file) ?></b></td><?phpif($j == 4){	echo('</tr>');	}$j=$j+1;$i=$i+1;};};closedir($handle);?> </table>

 

 

index.php

<?php$hostname = "localhost";$database = "testeupload";$username = "root";$password = "";$con = @mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR); header("Content-type: text/html; charset=iso-8859-1"); // corrigir acentuaçãofunction GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") {  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;  switch ($theType) {	case "text":	  $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";	  break;		case "long":	case "int":	  $theValue = ($theValue != "") ? intval($theValue) : "NULL";	  break;	case "double":	  $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";	  break;	case "date":	  $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";	  break;	case "defined":	  $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;	  break;  }  return $theValue;}if(isset($_POST["insert"]) && ($_POST["insert"] == "form1")) {if($_FILES['foto'] == ''){	if(isset($_POST['foto']) && $_POST['foto'] != '')	{		$nome_foto = $_POST['foto'];	}	else	{		$nome_foto = 'fotoDefault.jpg';	}	$err = TRUE;}else{	require_once "uploadImage.php";}if($err){$insertSQL = sprintf("INSERT INTO usuario (nome, email, foto) VALUES (%s, %s, '$nome_foto')",					   GetSQLValueString($_POST['nome'], "text"),					   GetSQLValueString($_POST['email'], "text"));  mysql_select_db($database, $con);  $Result1 = mysql_query($insertSQL, $con) or die(mysql_error());  if($Result1 > 0)  {	 echo('<script> alert("Cadastro efetuado com sucesso!");  </script>');  }}  $insertGoTo = "index.php";  if (isset($_SERVER['QUERY_STRING'])) {	$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";	$insertGoTo .= $_SERVER['QUERY_STRING'];  }	    echo('<meta http-equiv="refresh" content="0;URL=' . $insertGoTo  . '">');}?><html><head><title>Upload</title><script><!--function MM_validateForm() { //v4.0  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);	if (val) { nm=val.name; if ((val=val.value)!="") {	  if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');		if (p<1 || p==(val.length-1)) errors+='- '+nm+' e-mail não é válido.\n';	  } else if (test!='R') { num = parseFloat(val);		if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';		if (test.indexOf('inRange') != -1) { p=test.indexOf(':');		  min=test.substring(8,p); max=test.substring(p+1);		  if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';	} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' Campo obrigatório.\n'; }  } if (errors) alert('OCORRÊNCIAS DE ERROS:\n'+errors);  document.MM_returnValue = (errors == '');}//-->function MM_findObj(n, d) { //v4.01  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);  if(!x && d.getElementById) x=d.getElementById(n); return x;}//--></script></head><body><?phpif((!isset($_GET['formulario'])) && (!isset($_GET['foto']))){?><table width="450" border="0" align="center">  <tr>	<td align="center"><a href="index.php?formulario=1&img=1" title="Sem foto específica" target="_self">Inserir dados sem foto</a></td>	<td align="center"><a href="index.php?formulario=1&img=2" title="Com foto específica" target="_self">Inserir dados com foto</a></td>	<td align="center"><a href="listaFotos.php" title="Visualizar fotos do servidor" target="_blank">Ver fotos do servidor</a></td>  </tr>  <tr>	<td colspan="3" align="justify"><br><br>	<font face="Verdana, Arial, Helvetica, sans-serif" color="#996600">Nos links acima escolha inserir dados sem foto se queira inserir uma informação que não tenha foto específica, podendo para isto colocar uma foto que já esteja no servidor.<br><br>	Para escolher uma foto que já esteja no servidor clique em ver fotos do servidor, copie o nome da foto escolhida, depois clique em inserir dados sem foto, então preencha os campos do formulário, colocando o nome da foto escolhida no campo foto.<br><br>	Para inserir dados com uma foto específica, escolha inserir dados com foto, depois preencha o formulário completamente escolhendo no campo foto, qual foto queira e que está em seu disco.<br>	Qualquer problema ou sugestão comunique-nos (Email).</font><br>		</td>  </tr></table><?php}else{if(isset($_GET['formulario']) && isset($_GET['img'])){if($_GET['img'] == 1){?><form action="index.php" method="post" name="form1" onSubmit="MM_validateForm('nome','','R','email','','RisEmail');return document.MM_returnValue"><? }else{if($_GET['img'] == 2){?><form action="index.php" method="post" enctype="multipart/form-data" name="form1" onSubmit="MM_validateForm('nome','','R','email','','RisEmail');return document.MM_returnValue"><?}}?>  Nome: <input name="nome" type="text" maxlength="30"><br>  Email: <input name="email" type="text" maxlength="30"><br><?phpif($_GET['img'] == 1){?>  Foto: <input name="foto" type="text" maxlength="30"><br><?php }else{if($_GET['img'] == 2){?>Foto: <input type="file" name="foto" maxlength="15"><br><?php}}?>  <input type="submit" name="Submit" value="Enviar">  <input type="hidden" name="insert" value="form1"></form><?php}}?></body></html>

 

 

Os scripts 'functionsphp' e 'uploadImage.php' saõ responsáveis pelos testes relativos a imagem fazendo upload e redimencionado as mesmas.

O script 'listaFotos.php' mostra as fotos de um diretório no servidor.

O script 'index.php' monta o formulário de acordo com a escolha do usuário, se ele vai enviar uma imagem ou não.

Para testar o script crie um banco de dado mysql com nome 'testeupload':

 

CREATE DATABASE `testeupload`;

Insira uma tabela com nome usuario :

 

CREATE TABLE `usuario` (  `id` tinyint(8) NOT NULL auto_increment,  `nome` varchar(30) NOT NULL default '',  `email` varchar(30) NOT NULL default '',  `foto` varchar(15) default NULL,  PRIMARY KEY  (`id`)) TYPE=MyISAM;

 

Configure a conexão do banco de dados no arquivo index.php:

 

$hostname = "localhost";$database = "testeupload";$username = "root";$password = "";

Configure o diretório das imagens no uploadImage.php:

 

$diretorio = 'imagens/';

Configure o diretório das imagens no listaFotos.php:

 

$dir = 'imagens';

Não esqueça de dar permissão de escrita no diretório das imagens.

 

Bom acredito que vão conseguir usar, caso queiram melhorar os scripts fiquem a vontade, modifiquem e usem a vontade, críticas e sugestões são muito bem vindas.O script index.'php' faz a montagem do formulário e inclusão das informações no bd, o formulário é bem básico, pois foi criado só para demonstração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola...aqui esta acontecendo um erro ele eu nao consigo enviar fotos no formato GIF PNG nenhuma outra citada no codigo a cima!!! o que acontece você pode me ajudar nesse erro?pois alguns usuarios vao querer enviar fotos em outros formatos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola...

 

aqui esta acontecendo um erro ele eu nao consigo enviar fotos no formato GIF PNG nenhuma outra citada no codigo a cima!!! o que acontece você pode me ajudar nesse erro?

 

pois alguns usuarios vao querer enviar fotos em outros formatos!!!

Olá 'bittencourtal', desculpe a demora em responder mas andei meio ocupado, enfim, algum tempo.

Vou colocar novamente o script já alterado para inserção de imagens com extensão png, gif e jpg, mas primeiro algumas considerações; para se fazer upload de imagens o seu servidor deve ter suporte a biblioteca GD, e você deve verificar se a biblioteca instalada dá suporte as extensões que você quer usar, veja esta nota do manual do php(http://br2.php.net/manual/pt_BR/function.imagegif.php):

Nota: Já que todo o suporte GIF foi removido da biblioteca GD na versão 1.6, esta função não esta disponível se você esta usando esta versão da biblioteca GD. O suporte é esperado para retornar em uma versão subsequente ao lançamento do suporte GIF na biblioteca GD no meio de 2004. Para maiores informações veja o site do projeto GD Project.

 

mas vamos ao código modificado:

 

Editado: 16/10/06 - reformulando suporte a upload de imagens gifs

 

functionsUpload.php

<?php	function verifica_image($img)	{		// Verifica se o mime-type do arquivo é de imagem		if(eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $img["type"]))		{			return (TRUE);		}		return (FALSE);	}// fim verifica_image		function verifica_extensao_image($img)	{		// Pega extensão do arquivo		preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $img["name"], $ext);		return ($ext[1]);	}//fim verifica_extensao_imag		function verifica_dimensao_image($img, $max_x, $max_y)	{		$dimensaoImage = getimagesize($img["tmp_name"]);		$dimensao = '';		// Verifica largura		if($dimensaoImage[0] > $dimensaoImage[1])		{			if($dimensaoImage[0] > $max_x)			{				$dimensao = 'largura';			}		}		else		{			if($dimensaoImage[0] < $dimensaoImage[1])			{				if($dimensaoImage[1] > $max_x)				{					$dimensao = 'altura';				}			}			else			{				if($dimensaoImage[0] == $dimensaoImage[1])				{					if($dimensaoImage[0] > $max_x)					{						$dimensao = 'largura';					}				}			}		}		return ($dimensao);			}//fim verifica_dimensao_image			   // Código tirado de http://phpweb.hostnet.com.br/manual/it/function.imagecreatefromgif.php	function gif2jpeg($p_fl, $p_new_fl='', $bgcolor=false, $imgge , $x, $y, $xx, $yy)	{	  //list($wd, $ht, $tp, $at)=getimagesize($p_fl);	  $img_src=imagecreatefromgif($p_fl);	  //$img_dst=imagecreatetruecolor($wd,$ht);	  $clr['red']=255;	  $clr['green']=255;	  $clr['blue']=255;	  if(is_array($bgcolor)) 	  {		  $clr=$bgcolor;	  }	  $kek=imagecolorallocate($imgge, $clr['red'], $clr['green'], $clr['blue']);	  imagefill($imgge,0,0,$kek);   	  imagecopyresampled($imgge, $img_src, 0, 0, 0, 0, $x, $y, $xx, $yy);	  $draw=true;	  if(strlen($p_new_fl)>0)		{ 		  if($hnd=fopen($p_new_fl,'w')) 		  { 			$draw=false;			fclose($hnd);	 	}	  }	  if(true==$draw)	  {	   	header("Content-type: image/jpeg");	   	$im = imagejpeg($imgge);	  }	  else	  {   	 	$im = imagejpeg($imgge, $p_new_fl); 	  } 	  imagedestroy($imgge);	  imagedestroy($img_src);	  return $im;   }   // Fim gif2jpeg			function reduz_imagem($img, $max_x, $max_y, $nome_foto, $extensaoo)	{		//pega o tamanho da imagem ($original_x, $original_y)		list($width, $height) = getimagesize($img);		$original_x = $width;		$original_y = $height;		// se a largura for maior que altura		if($original_x > $original_y) {			   $porcentagem = (100 * $max_x) / $original_x;	  		}		else {			   $porcentagem = (100 * $max_y) / $original_y;		}				$tamanho_x = $original_x * ($porcentagem / 100);		$tamanho_y = $original_y * ($porcentagem / 100);				$image_p = imagecreatetruecolor($tamanho_x, $tamanho_y);				if($extensaoo == 'jpeg' || $extensaoo == 'jpg')		{			if (function_exists('imagejpeg')) 			{				$image   = imagecreatefromjpeg($img);				imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);				return imagejpeg($image_p, $nome_foto, 100);			}			else			{				echo('<script> alert("Sem suporte para este tipo de imagem - ' . $extensaoo  . ', falha no cadastro!!");  </script>');				return false;			}		}		else		{		if($extensaoo == 'png')		{			if (function_exists('imagepng')) 			{				$image   = imagecreatefrompng($img);				imagealphablending($image_p, false);				imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);				imagesavealpha($image_p, true);				return imagejpeg($image_p, $nome_foto);			}			else			{				echo('<script> alert("Sem suporte para este tipo de imagem - ' . $extensaoo  . ', falha no cadastro!!");  </script>');				return false;			}		}		else		{		if($extensaoo == 'gif')		{					if (function_exists('imagegif')) 			{				$image   = imagecreatefromgif($img);				imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);				return imagegif($image_p, $nome_foto, 100);   			}			else			{								$clr['red']=255;		   		$clr['green']=255;		   		$clr['blue']=255;		   		$imag = gif2jpeg($img, $nome_foto, $clr, $image_p, $tamanho_x, $tamanho_y, $width, $height);		   		if($imag)				   		{		   			return $imag;		   		}		   		else		   		{		   			echo('<script> alert("Sem suporte para este tipo de imagem - ' . $extensaoo  . ', falha no cadastro!!");  </script>');		   		}							} 		}		}		}			}//fim reduz_imagem	?>
uploadImage.php

<?$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;$max_image_x = 128;$max_image_y = 80;$diretorio = 'imagens/';  //diretório onde esão as imagensif($arquivo){	$tamanho = getimagesize($arquivo["tmp_name"]);	ini_set ("max_execution_time", 3600); // uma hora	require_once "functionsUpload.php";	$err = FALSE;	if(is_uploaded_file($arquivo['tmp_name']))	{		if(verifica_image($arquivo))		{			$tamanho = getimagesize($arquivo["tmp_name"]);			$dimensiona = verifica_dimensao_image($arquivo, $max_image_x, $max_image_y);			if($dimensiona != '')			{				if($dimensiona == 'altura')				{						$auxImage = $max_image_x;						$max_image_x = $max_image_y;						$max_image_y = $auxImage;				}			}			else			{				$max_image_x = $tamanho[0];				$max_image_y = $tamanho[1];			}						$nome_foto  = ('imagem_' . time() . '.' . verifica_extensao_image($arquivo));// nome único para foto			$extensao = strtolower(verifica_extensao_image($arquivo));			$endFoto = $diretorio . $nome_foto;			if(reduz_imagem($arquivo['tmp_name'], $max_image_x, $max_image_y, $endFoto, $extensao))			{				$err = TRUE;			}  		}	}}?>
listaFotos.php

<table border="1" align="center"><?phprequire_once "functionsUpload.php";$dir = 'imagens'; //diretório onde estão as imagens$handle=opendir($dir);$i=0;$j = 0;while ($file = readdir($handle)) {if (eregi("jpg$",$file) || eregi("gif$",$file) || eregi("png$",$file)){if($i == 0 || $j == 5){	$j = 0;	echo('<tr>');}?><td align="center" valign="top"><img src=<?php echo($dir . '/' . $file) ?> width=128 height=96><br><font size=2><b><?php echo($file) ?></b></td><?phpif($j == 4){	echo('</tr>');	}$j=$j+1;$i=$i+1;};};//Alterado 28/12/2006if($j <4){	echo('</tr>');}//Alterado 28/12/2006closedir($handle);?></table>
index.php

<?php$hostname = "localhost";$database = "testeupload";$username = "root";$password = "";$con = @mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);header("Content-type: text/html; charset=iso-8859-1"); // corrigir acentuaçãofunction GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = ""){  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;  switch ($theType) {	case "text":	  $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";	  break;		case "long":	case "int":	  $theValue = ($theValue != "") ? intval($theValue) : "NULL";	  break;	case "double":	  $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";	  break;	case "date":	  $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";	  break;	case "defined":	  $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;	  break;  }  return $theValue;}if(isset($_POST["insert"]) && ($_POST["insert"] == "form1")) {if($_FILES['foto'] == ''){	if(isset($_POST['foto']) && $_POST['foto'] != '')	{		$nome_foto = $_POST['foto'];	}	else	{		$nome_foto = 'fotoDefault.jpg';	}	$err = TRUE;}else{	require_once "uploadImage.php";}if($err){$insertSQL = sprintf("INSERT INTO usuario (nome, email, foto) VALUES (%s, %s, '$nome_foto')",					   GetSQLValueString($_POST['nome'], "text"),					   GetSQLValueString($_POST['email'], "text"));  mysql_select_db($database, $con);  $Result1 = mysql_query($insertSQL, $con) or die(mysql_error());  if($Result1 > 0)  {	 echo('<script> alert("Cadastro efetuado com sucesso!");  </script>');  }}  $insertGoTo = "index.php";  if (isset($_SERVER['QUERY_STRING'])) {	$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";	$insertGoTo .= $_SERVER['QUERY_STRING'];  }	    echo('<meta http-equiv="refresh" content="0;URL=' . $insertGoTo  . '">');}?><html><head><title>Upload</title><script><!--function MM_validateForm() { //v4.0  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);	if (val) { nm=val.name; if ((val=val.value)!="") {	  if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');		if (p<1 || p==(val.length-1)) errors+='- '+nm+' e-mail não é válido.\n';	  } else if (test!='R') { num = parseFloat(val);		if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';		if (test.indexOf('inRange') != -1) { p=test.indexOf(':');		  min=test.substring(8,p); max=test.substring(p+1);		  if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';	} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' Campo obrigatório.\n'; }  } if (errors) alert('OCORRÊNCIAS DE ERROS:\n'+errors);  document.MM_returnValue = (errors == '');}//-->function MM_findObj(n, d) { //v4.01  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);  if(!x && d.getElementById) x=d.getElementById(n); return x;}//--></script></head><body><?phpif((!isset($_GET['formulario'])) && (!isset($_GET['foto']))){?><table width="450" border="0" align="center">  <tr>	<td align="center"><a href="index.php?formulario=1&img=1" title="Sem foto específica" target="_self">Inserir dados sem foto</a></td>	<td align="center"><a href="index.php?formulario=1&img=2" title="Com foto específica" target="_self">Inserir dados com foto</a></td>	<td align="center"><a href="listaFotos.php" title="Visualizar fotos do servidor" target="_blank">Ver fotos do servidor</a></td>  </tr>  <tr>	<td colspan="3" align="justify"><br><br>	<font face="Verdana, Arial, Helvetica, sans-serif" color="#996600">Nos links acima escolha inserir dados sem foto se queira inserir uma informação que não tenha foto específica, podendo para isto colocar uma foto que já esteja no servidor.<br><br>	Para escolher uma foto que já esteja no servidor clique em ver fotos do servidor, copie o nome da foto escolhida, depois clique em inserir dados sem foto, então preencha os campos do formulário, colocando o nome da foto escolhida no campo foto.<br><br>	Para inserir dados com uma foto específica, escolha inserir dados com foto, depois preencha o formulário completamente escolhendo no campo foto, qual foto queira e que está em seu disco.<br>	Qualquer problema ou sugestão comunique-nos (Email).</font><br>		</td>  </tr></table><?php}else{if(isset($_GET['formulario']) && isset($_GET['img'])){if($_GET['img'] == 1){?><form action="index.php" method="post" name="form1" onSubmit="MM_validateForm('nome','','R','email','','RisEmail');return document.MM_returnValue"><?}else{if($_GET['img'] == 2){?><form action="index.php" method="post" enctype="multipart/form-data" name="form1" onSubmit="MM_validateForm('nome','','R','email','','RisEmail');return document.MM_returnValue"><?}}?>  Nome: <input name="nome" type="text" maxlength="30"><br>  Email: <input name="email" type="text" maxlength="30"><br><?phpif($_GET['img'] == 1){?>  Foto: <input name="foto" type="text" maxlength="30"><br><?php}else{if($_GET['img'] == 2){?>Foto: <input type="file" name="foto" maxlength="15"><br><?php}}?>  <input type="submit" name="Submit" value="Enviar">  <input type="hidden" name="insert" value="form1"></form><?php}}?></body></html>

As explicações de como montar o BD e testar os scripts são as mesmas do primeiro post, tendo somente uma alteração a ser feita, coloque o tamanho do nome da foto no BD para 25:

 

CREATE TABLE `usuario` (

`id` tinyint(8) NOT NULL auto_increment,

`nome` varchar(30) NOT NULL default '',

`email` varchar(30) NOT NULL default '',

`foto` varchar(25) default NULL,

PRIMARY KEY (`id`)

) TYPE=MyISAM;

 

um abraço e espero que sirva.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola muito obrigado ai desculpe a demora a responder eu ja tinha visto o seu posto logo no dia que você respondeu testei em seguida e deu tudo certo não respondi por conta de tempo tambem f*** pra caramba to trampando dia a noite heheheMais então tem como limitar o tamanho da imagem em Kbps?E se quizer enviar mais de uma foto, é muito complicado?curti muito esse seu script funciona que é uma beleza =]Valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse script já gera thumbs das imagens??

 

bitteoncoural

 

Testa isso aqui no arquivo que sobe a imagem para o servidor:

 

if($imagem_size > 4000000) { /*verifica o tamanho da imagem enviada */$erros++;$errors = $errors."O tamanho do arquivo é maior que 40 K<br>";}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo aqui em casa me retorno esse erro.

 

Warning: opendir(imagem): failed to open dir: Invalid argument in c:\appserv\www\imagem\listafotos.php on line 5Warning: readdir(): supplied argument is not a valid Directory resource in c:\appserv\www\imagem\listafotos.php on line 8Warning: closedir(): supplied argument is not a valid Directory resource in c:\appserv\www\imagem\listafotos.php on line 29

Sera que você poderia me ajudar.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo aqui em casa me retorno esse erro.

 

Warning: opendir(imagem): failed to open dir: Invalid argument in c:\appserv\www\imagem\listafotos.php on line 5Warning: readdir(): supplied argument is not a valid Directory resource in c:\appserv\www\imagem\listafotos.php on line 8Warning: closedir(): supplied argument is not a valid Directory resource in c:\appserv\www\imagem\listafotos.php on line 29
Sera que você poderia me ajudar.

Obrigado.

verifique a permissão do diretório, verifique se está correto o caminho também, qualquer coisa posta de novo.

 

 

como o amigo bitencourtal perguntou..

 

Tem como subir mais de uma foto?

 

Fico no aguardo!

Tem como subir mais fotos, mas precisa adaptar o script para isto, verifique, no fórum mesmo tem scripts que sobe mais fotos, tenta implementar, estou meio ocupado no momento mas, se ninguem implementar isto para o script, logo que desocupar tento implementar mais esta função e posto novamente, Ok?

 

hcar estou precisando de uma ajudinha... eu preciso de um script que mande não só foto, mas tb arquivos zipados (zip, rar...) é isso... se você pueder me ajudar ficarei muito grato!!

 

t+ http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Conrado no fórum tem alguns scripts que mandam outros arquivos, veja:

 

http://forum.imasters.com.br/index.php?showtopic=124250

http://forum.imasters.com.br/index.php?showtopic=151216

 

Dê uma olhada, se não servir comece a implementar um e crie um tópico pra turma do fórum colaborar, abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem pessoal , sobrou um pouco de tempo por aqui e então voltei aqui para completar o script e colocar a função de envio para multiplas imagens, bom , não vou colocar os arquivos aqui para copiarem, mas farei melhor, colocarei no ar para que vejam o script funcionando, e colocarei também um link para baixarem os arquivos, as explicações estarão nos próprio scripts, adaptem para uso como quiserem, os arquivos não foram testados suficiententemente, portanto testar seria bom para que não tenham surpresas, erros, bugs, avisem aqui no fórum para que seja corrigido, ou então postem a correção, abraços a todos:

 

aqui o script em funcionamento

 

Aqui os arquivos para baixarem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem pessoal , sobrou um pouco de tempo por aqui e então voltei aqui para completar o script e colocar a função de envio para multiplas imagens, bom , não vou colocar os arquivos aqui para copiarem, mas farei melhor, colocarei no ar para que vejam o script funcionando, e colocarei também um link para baixarem os arquivos, as explicações estarão nos próprio scripts, adaptem para uso como quiserem, os arquivos não foram testados suficiententemente, portanto testar seria bom para que não tenham surpresas, erros, bugs, avisem aqui no fórum para que seja corrigido, ou então postem a correção, abraços a todos:

 

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

 

Editado - 04/12/2006

 

Incluído suporte a escolha de ordem das cinco primeiras imagens

 

==================

 

Editado - 08/12/2006

 

Agora já é um sistema de administração de notícias.

Incluir, excluir, alterar notícias com ou sem imagens.

O sistema envia notícias sem imagens vinculadas, notícias com imagens vinculadas ou envia somente imagens sem uma notícia vinculada. É utilizado ajax.

 

Foi novamente postado, veja:

 

Novo post

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola , estou com um problema aki, Quando eu clico em "Ver fotos do servidor", aparece só as tabelas e o nome das fotos mais nao aparece as imagens.Na pagina listaFotos.php eu colokei o caminho aonde estao as imagens no meu servidor mais nao aparece, oke pode ser????vlwsssss fora isso o resto esta otimo. Otimo script.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola , estou com um problema aki, Quando eu clico em "Ver fotos do servidor", aparece só as tabelas e o nome das fotos mais nao aparece as imagens.Na pagina listaFotos.php eu colokei o caminho aonde estao as imagens no meu servidor mais nao aparece, oke pode ser????vlwsssss fora isso o resto esta otimo. Otimo script.

como você colocou o caminho das imagens

Compartilhar este post


Link para o post
Compartilhar em outros sites

$dir = 'c:/Arquivos de programas/vertrigoServ/www/layout2/admin/upload/imagens'; //diretório onde estão as imagensesta correto???

Tenta colocar o caminho a partir de onde está o seu script, por exemplo: Se o listarFotos.php estiver na pasta admin, coloque $dir = 'upload/imagens';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem alguem ai que possa me passar ele? Pois o link para downlad dele não esta abrindo, obrigado.

Os arquivos que você quer, são os apresentados acima ou o link do outro post, que é a adaptação deste, e testei o link está ok.Aqui os arquivos para baixarem

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.