Como subir imagen al servidor con distinto nombre.

  • Autor Autor Neekiinh0
  • Fecha de inicio Fecha de inicio
Neekiinh0

Neekiinh0

Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buen dia,

Quiero hacer un formulario donde en un input pida nombre y apellido y en otro el de adjuntar archivos.. y la imagen que se suba al servidor con el nombre del input de nombre y apellido.. no se si me explique bien.. o sea, que la imagen que carguen al servidor se suba con el nombre del primer input.

Es posible?
 
Se puede, te hice este codigo muy rapido:

Insertar CODE, HTML o PHP:
<form enctype="multipart/form-data" action="" method="POST">
<input type="text" name="nombres">
    <input type="file" name="imagen">
    <input type="submit" value="Enviar">
</form>
<?php 
// Datos
$nombres = $_POST['nombres'];
$imagen = $_FILES['imagen'];


// Reemplazamos espacios por _ y agregamos numeros aleatorios por si hay dos usuarios con el mismo nombre y apellido.
$newNombreIMG = str_replace(' ', '_', $nombres . '_' . rand(0, 1000));
// Extension
$extension = explode('/', $imagen['type']);
// 
echo '<pre>';
if (move_uploaded_file($imagen['tmp_name'], $newNombreIMG . '.' . $extension[1])) {
    echo "El fichero es válido y se subió con éxito.\n";
} else {
    echo "¡Posible ataque de subida de ficheros!\n";
}
echo 'Más información de depuración:';
print_r($_FILES);
print "</pre>";
?>

Puedes leer la documentación: PHP: Subida con el método POST - Manual de ahi modifique el formulario. Tambien puedes modificar la ubicacion donde se guardaran las imagenes e incluso comprobar si el archivo que se quiere subir es una imagen. Saludos.
 
Última edición:
Gracias por responder, el código que me has facilitado me da error y no guarda la imagen..
te muestro el código que tengo funcionando.. solo que me falta lo de renombrarla con el "nombre y apellido" del primer input..

Insertar CODE, HTML o PHP:
<?PHP

	//Recibiendo datos de la imagen
	
	$nombre_imagen=$_FILES['imagen']['name'];
	$tipo_imagen=$_FILES['imagen']['type'];
	$tamagno_imagen=$_FILES['imagen']['size'];
	
	
	//Ruta donde iran las imagenes
	$carpeta_destino=$_SERVER['DOCUMENT_ROOT'].'/socialm/imagenes/';

	
	//Carpeta contenedora de las imagenes
	move_uploaded_file($_FILES['imagen']['tmp_name'],$carpeta_destino.$nombre_imagen);


?>


Y el HTML es normal..

Insertar CODE, HTML o PHP:
<form action="config.php" method="post" enctype="multipart/form-data">


<table>
<tr>
<td><input type="text" name="nombre"></td>
<td><label for="imagen">Imagen:</label></td>
<td><input type="file" name="imagen" size="20"></td></tr>
<tr><td colspan="2" style="text-align="center"><input type="submit" value="Enviar Imagen"></td></tr></table>

</form>


Se puede conseguir con el código que tengo ya funcionando?
 
Claro que puedees solo debees guardar la fotografia con el nombre que quieres, usa el metodo rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");

en my_file.txt coloca el nombre que quieres por ejemplo, nombreapellido.jsp
 
Mmm no.. yo quiero que el nombre de la imagen se suba con el nombre del input "Nombre y apellido"..
 
Mmm no.. yo quiero que el nombre de la imagen se suba con el nombre del input "Nombre y apellido"..
Lo idea es poner la fecha y hora como entero junto con el nombre

Enviado desde mi Nexus 5X mediante Tapatalk
 
Gracias por responder [MENTION=121971]pa3lo022[/MENTION] pero no entendí lo que me quisiste decir y menos se hacerlo.. :ambivalence:
 
Atrás
Arriba