Ir para conteúdo
Fórum Script Brasil
  • 0

Redimensionamento de imagens


Dennis Aguilar

Pergunta

Pessoal, tenho uma página para inserir um registro e enviar imagens, o redimensionamento das imagens e a criação da pasta acontece, mas cada imagem que eu seleciono no meu input type="file" ele cria uma pasta e faz um registro em branco no meu banco de dados, exemplo: se eu selecionar 5 img ele está criando 5 registros em branco e 5 pastas no meu servidor cada uma com uma imagem, a minha intenção é 1 registo com os dados digitados, e uma pasta para todas as imagens selecionadas.

php na página de registro:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO marcador (fkidUsuario, Titulo, Descricao, Data) VALUES ( %s, %s, %s, %s)",
                       GetSQLValueString($_POST['fkidUsuario'], "int"),
                       GetSQLValueString($_POST['Titulo'], "text"),
                       GetSQLValueString($_POST['Descricao'], "text"),
                       GetSQLValueString($_POST['Data'], "date"));  
  mysql_select_db($database_conexviu, $conex);
  $Result1 = mysql_query($insertSQL, $conex) or die(mysql_error());
  
  $idRegistro= mysql_insert_id();
  if(!empty($_FILES)){ 
  		mkdir("uploads/".$idRegistro."/", 0777, true);
		include 'classupload.php'; 
		$upload = new UploadImagem();
		$upload->width = 350;
		$upload->height = 250;
		
		echo $upload->salvar("uploads/".$idRegistro."/", $_FILES['img']);		
} }

form na pagina de registro:

<form action="<?php echo $editFormAction; ?>" method="post" id="upload" name="form1">
  <table align="center">   
    <tr valign="baseline">
      <td nowrap>Título</td>
      <td><input type="text" name="Titulo" id="Titulo" value="" size="32" maxlength="50"></td>
    </tr>
    <tr valign="baseline">
      <td valign="top">Descreva</td>
      <td><textarea name="Descricao" id="Descricao" cols="50" rows="5"></textarea></td>
    </tr>
    <tr valign="baseline">
      <td>Data</td> <td><input type="date" id="arrival_dt" name="Data" required></td>
      </tr>
    </tr>
  </table>

  <div id="drop">
				<a>Adicione fotos</a>
				<input type="file" name="img" id="img" multiple />
   </div>
      
  <input type="submit" value="Inserir">
  <input type="hidden" name="fkidUsuario" value="<?php echo $_SESSION['idUsuario']; ?>">
  <input type="hidden" name="MM_insert" value="form1">
</form>

página classupload.php onde está fazendo redimensionamento da imagem:

<?php
class UploadImagem{
	public $width;
	public $height;
	protected $tipos = array("jpeg", "png", "gif");
	
	protected function redimensionar($caminho, $nomearquivo){
		$width = $this->width;
        $height = $this->height;
		
		
list($width_orig, $height_orig, $tipo, $atributo) = getimagesize($caminho.$nomearquivo);

if($width_orig > $height_orig){
   $height = ($width/$width_orig)*$height_orig;} 
else if($width_orig < $height_orig) {
	   $width = ($height/$height_orig)*$width_orig; }
$novaimagem = imagecreatetruecolor($width, $height);

switch($tipo){

case 1:
	$origem = imagecreatefromgif($caminho.$nomearquivo);
	imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
	imagegif($novaimagem, $caminho.$nomearquivo);
break;

case 2:
    $origem = imagecreatefromjpeg($caminho.$nomearquivo);
    imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
    imagejpeg($novaimagem, $caminho.$nomearquivo);
break;

case 3:
    $origem = imagecreatefrompng($caminho.$nomearquivo);
    imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
    imagepng($novaimagem, $caminho.$nomearquivo);
break;
}

imagedestroy($novaimagem);
imagedestroy($origem);
}
public function salvar($caminho, $file){
	$file['name'] = (($file['name']));
	$uploadfile = $caminho.$file['name'];
	
move_uploaded_file($file['tmp_name'], $uploadfile);
}
	
}
?>
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...