Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/12/2012, 19:02
Maverickxz
 
Fecha de Ingreso: noviembre-2012
Mensajes: 1
Antigüedad: 11 años, 5 meses
Puntos: 0
Duda obtener nombre de variable dentro de unafuncion

Buenas, requiero ayuda con un problema que me surgio


Tengo un formulario:


<div class="modificacion">
<div class="flotacion">
<div class="contendor_form_modificacion">
<h3>Crear nuevo Portfolio</h3>
<form method="post" action="querys/query_crearportfolio.php" enctype="multipart/form-data" class="form_creacion" >


<fieldset>
<label>imagen de muestra:</label>
<input type="file" name="archivo" />


<input type="submit" value="Subir imagen"/>
</fieldset>
</form>
</div>
</div>
</div>

En este formulario se inserta una imagen y se redimensiona al enviar el form.

lo que necesito es que al subir la imagen obtenga el nombre de la imagen redimensionada para poder subirla a una Base de Datos.

El documento que va al action del form es este

<?php


include( '../../config/init.php' );



$cnx = mysqli_connect ( $host, $usr, $pass, $db ) ;





mysqli_query ($cnx , "INSERT INTO imagenes (imagen) VALUES ('$name')");



mysqli_close( $cnx ) ;


?>

y la función que redimensiona la imagen es esta

if( $archivo= isset( $_FILES[ 'archivo' ] ) ){
$file = $_FILES[ 'archivo' ] ;
$origen = $file[ 'tmp_name' ] ;
$destino = '../img/' . round( microtime(1) * 1000 ) . $file[ 'name' ] ;
$name = $file[ 'name' ] ;

if( move_uploaded_file( $origen, $destino ) ){
echo '' ;
} else {
echo 'ERROR No se subio una Imagen!!' ;
}

$nuevaImagen = imagecreatefromjpeg( $destino );


$max_ancho = 196;
$max_alto = 293;

list( $anchoImgOriginal, $altoImgOriginal ) = getimagesize( $destino ) ;


$x_ratio = $max_ancho / $anchoImgOriginal ;
$y_ratio = $max_alto / $altoImgOriginal ;



if( ($anchoImgOriginal <= $max_ancho) && ( $altoImgOriginal <= $max_alto ) ){
$anchoFinal = $anchoImgOriginal;
$altoFinal = $altoImgOriginal ;
} elseif( ( $y_ratio * $anchoImgOriginal ) < $max_ancho ){
$anchoFinal = ceil( $y_ratio * $anchoImgOriginal ) ;
$altoFinal = $max_alto ;
} else{
$altoFinal = ceil( $x_ratio * $altoImgOriginal ) ;
$anchoFinal = $max_ancho ;
}

$img = imagecreatetruecolor( $anchoFinal, $altoFinal ) ;

imagecopyresampled( $img, $nuevaImagen, 0, 0, 0, 0, $anchoFinal, $altoFinal, $anchoImgOriginal, $altoImgOriginal ) ;

imagedestroy( $nuevaImagen ) ;

$calidad = 100 ;

imagejpeg( $img, '../img/portfolio/' . $name, $calidad ) ;


}

Tengo entendido que debería crear una función con el código que redimensiona la imagen y después hacer un return de la variable $name que da el nombre, para luego poder insertarlo en la query.

Intente de mil formas pero no pude

Espero una solución

Gracias!