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);
}
}
?>