elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Subir imagen y cambiar tamaño
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Subir imagen y cambiar tamaño  (Leído 2,136 veces)
gabrielbdmr

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Subir imagen y cambiar tamaño
« en: 2 Diciembre 2016, 02:10 am »

buen día con todos, tengo un problema con un código que no logro resolver:
 inicialmente tengo un formulario para subir un archivo y guardarlo en una determinada carpeta, además si el checkbox para hacer la imagen por defecto esta activada, se registra en una base de datos, hasta ahí todo funciona bien, pero necesito que también se cambie el tamaño de la imagen por lo que inserte un código pero no logro hacer que funcione, les dejo los codigos del formulario y las versiones del uploader
espero alquien me pueda dar una mano, gracias

formulario
Código:
<form action="inmueble_subir_archivo_proceso.php?id=<?php echo $id ?>" method="post" enctype="multipart/form-data">               
                <p>Seleccionar imagen:</p>
                <p><input class="btn btn-primary btn-sm center-block" type="file" name="fileToUpload" id="fileToUpload"> </p>
                <p><input type="checkbox" name="vista_previa" id="vista_previa" > Hacer imagen de vista previa</p>
                <p><input class="btn btn-success btn-sm" type="submit" value="Cargar" name="submit"></p>
                           
        </form>


primera versión FUNCIONA
Código:
<div class="t_centrado">



<?php           
           
            $id =$_GET['id']; 


            $target_dir = "../../web/images/fotos/inmuebles/".$id."/";
            $target_file =$target_dir. basename($_FILES["fileToUpload"]["name"]);
            $uploadOk = 1;
            $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

            // Check if image file is a actual image or fake image
            if(isset($_POST["submit"])) {
                $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
                if($check !== false) {
                    //echo "File is an image - " . $check["mime"] . ".";
                    //echo "El archivo se cargó con éxito";
                    $uploadOk = 1;
                } else {
                    echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>El archivo no es una imagen.</p>
";
                    $uploadOk = 0;
                }
            }

            // Check if file already exists
            if (file_exists($target_file)) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>El archivo ya existe.</p>
" ;
                $uploadOk = 0;
            }

            // Check file size
            if ($_FILES["fileToUpload"]["size"] > 5242880) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Error el archivo es demasiado grande. Solo se permiten archivos de hasta 5Mb.</p>
";
                $uploadOk = 0;
            }

            // Allow certain file formats
            //if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) {
           
            if($imageFileType != "jpg"  ) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Solo se permiten imagenes en formato .jpg.</p>
";
                $uploadOk = 0;
            }

            // Check if $uploadOk is set to 0 by an error
            if ($uploadOk == 0) {
                echo "<p>No se cargó el archivo, intente con otro archivo.</p>";
            // if everything is ok, try to upload file
            } else {

               
//quiero insertar el resize aqui



//condicion original sin sezise
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"],$target_file)) {

//actuzlizar datos en db para vista previa
if(isset($_POST['vista_previa']))
{
require '../settings_admin.php';
$actualizar  = "UPDATE post SET
post_imagen='".basename($_FILES["fileToUpload"]["name"])."'
WHERE post_id = $id ";
mysqli_query($conn, $actualizar);
} else { };
//actuzlizar datos en db

                    echo "
<h3><span class='label label-success'>Carga completada</span></h3>
                        <p >El archivo ". basename( $_FILES["fileToUpload"]["name"]). " ha sido cargado con éxito.</p>
                        ";

                } else {
                    echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Error al cargar el archivo, vuelva a intentar.</p>
";
                }
            }

            ?>
           
           
           
            </div>


segunda version con RESIZE NO FUNCIONA :(
Código:

<div class="t_centrado">



<?php           
           
            $id =$_GET['id']; 


            $target_dir = "../../web/images/fotos/inmuebles/".$id."/";
            $target_file =$target_dir. basename($_FILES["fileToUpload"]["name"]);
            $uploadOk = 1;
            $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

            // Check if image file is a actual image or fake image
            if(isset($_POST["submit"])) {
                $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
                if($check !== false) {
                    //echo "File is an image - " . $check["mime"] . ".";
                    //echo "El archivo se cargó con éxito";
                    $uploadOk = 1;
                } else {
                    echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>El archivo no es una imagen.</p>
";
                    $uploadOk = 0;
                }
            }

            // Check if file already exists
            if (file_exists($target_file)) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>El archivo ya existe.</p>
" ;
                $uploadOk = 0;
            }

            // Check file size
            if ($_FILES["fileToUpload"]["size"] > 5242880) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Error el archivo es demasiado grande. Solo se permiten archivos de hasta 5Mb.</p>
";
                $uploadOk = 0;
            }

            // Allow certain file formats
            //if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) {
           
            if($imageFileType != "jpg"  ) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Solo se permiten imagenes en formato .jpg.</p>
";
                $uploadOk = 0;
            }

            // Check if $uploadOk is set to 0 by an error
            if ($uploadOk == 0) {
                echo "<p>No se cargó el archivo, intente con otro archivo.</p>";
            // if everything is ok, try to upload file
            } else {

               
//quiero insertar el resize aqui
if (isset($_FILES['fileToUpload']) && $_FILES['fileToUpload']['tmp_name']!=''){


//Imagen original
$rtOriginal=$_FILES['fileToUpload']['tmp_name'];

//Crear variable
$original = imagecreatefromjpeg($rtOriginal);

//Ancho y alto máximo
$max_ancho = 900; $max_alto = 600;

//Medir la imagen
list($ancho,$alto)=getimagesize($rtOriginal);

//Ratio
$x_ratio = $max_ancho / $ancho;
$y_ratio = $max_alto / $alto;

//Proporciones
if(($ancho <= $max_ancho) && ($alto <= $max_alto) ){
$ancho_final = $ancho;
$alto_final = $alto;
}
else if(($x_ratio * $alto) < $max_alto){
$alto_final = ceil($x_ratio * $alto);
$ancho_final = $max_ancho;
}
else {
$ancho_final = ceil($y_ratio * $ancho);
$alto_final = $max_alto;
}

//Crear un lienzo
$lienzo=imagecreatetruecolor($ancho_final,$alto_final);

//Copiar original en lienzo
imagecopyresampled($lienzo,$original,0,0,0,0,$ancho_final, $alto_final,$ancho,$alto);

//Destruir la original
imagedestroy($original);

//Crear la imagen y guardar en directorio upload/

$archivo_ok=move_uploaded_file(imagejpeg($lienzo,$_FILES['fileToUpload']['tmp_name']),$target_file);


}

elseif($archivo_ok !== false){







//condicion original sin sezise
//if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"],$target_file)) {

//actuzlizar datos en db para vista previa
if(isset($_POST['vista_previa']))
{
require '../settings_admin.php';
$actualizar  = "UPDATE post SET
post_imagen='".basename($_FILES["fileToUpload"]["name"])."'
WHERE post_id = $id ";
mysqli_query($conn, $actualizar);
} else { };
//actuzlizar datos en db

                    echo "
<h3><span class='label label-success'>Carga completada</span></h3>
                        <p >El archivo ". basename( $_FILES["fileToUpload"]["name"]). " ha sido cargado con éxito.</p>
                        ";

                } else {
                    echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Error al cargar el archivo, vuelva a intentar.</p>
";
                }
            }

            ?>
           
           
           
            </div>



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
cambiar tamaño a una imagen escaneada.
Diseño Gráfico
telurico 5 8,059 Último mensaje 29 Noviembre 2005, 21:14 pm
por ™Carlos.®
Cambiar Tamaño de una imagen
Programación Visual Basic
odeONeSs 4 2,358 Último mensaje 26 Marzo 2007, 11:05 am
por odeONeSs
cambiar tamaño imagen con onmouseover
Desarrollo Web
viher 3 5,541 Último mensaje 9 Septiembre 2010, 14:11 pm
por :ohk<any>
[Resuelto] Cambiar el tamaño de una imagen alojada en otro servidor
Desarrollo Web
user-marcos 5 3,755 Último mensaje 11 Enero 2016, 23:35 pm
por Ume
Cambiar el tamaño de imagen dinamicamente
Desarrollo Web
FGM24 4 11,232 Último mensaje 5 Noviembre 2021, 02:54 am
por FGM24
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines