Como subir imagen al servidor con distinto nombre.

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

Neekiinh0

Beta
¡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