a ver si alguien me puede ayudar, y a ver si me explico.
Tengo una página en la que al seleccionar una imagen, se guarda en la ruta indicada, y al mismo tiempo se muestra en una capa.
Bien, hasta ahí no hay problema. El problema surge cuando, una vez que tengo una imagen seleccionada (mostrada en la capa), y quiero que sea otra, (bien por equivocación o por simplemente seleccionar otra), pues sube la 2º al servidor, pero en la capa sigue mostrando la misma. Antes no tenía problema, ya que renombraba la imagen a time(). con lo cual nunca se repetían los nombres de imagen, pero esto no me interesa ahora. Necesito renombrarla a un nombre fijo, pero ahí es donde surge el problema de que no muestra la 2ª vez que selecciono imagen.
No sé si me explico bien, de todas formas adjunto el código, por si alguien quiere ojearlo y echarme una mano.
Gracias de antemano.
Código PHP:
<script type="text/javascript">
function resultadoUpload(estado, file) {
if (estado == 0) var mensaje = '<img src="<?php echo $dir_imgs.DIRECTORY_SEPARATOR ?>/' + file + '">';
if (estado == 1) var mensaje = 'Error ! - El Archivo no llego al servidor';
if (estado == 2) var mensaje = 'Error ! - Solo se permiten Archivos tipo Imagen';
if (estado == 3) var mensaje = 'Error ! - No se pudo copiar Archivo. Posible problema de permisos en server';
//top es la base de toda la página (. y document el contenido y busca la capa indicada (ojo, las capas div son lógicas), no necesitas indicarle la jerarquia.
// sino pones .document te estás refiriendo al head, y así al contenido del body
top.document.getElementById('nomimagen<?php echo $_GET["capa"] ?>').value=file;
top.document.getElementById('div_imagen<?php echo $_GET["capa"] ?>').innerHTML=mensaje;
}
</script>
</head>
<body>
<?php
// Script Que copia el archivo temporal subido al servidor en un directorio.
$tipo = substr($_FILES['imagen']['type'], 0, 5);
// Definimos Directorio donde se guarda el archivo
$dir = addslashes(implode(DIRECTORY_SEPARATOR,explode("/",dirname($_SERVER['DOCUMENT_ROOT'].$_SERVER['SCRIPT_NAME']))).DIRECTORY_SEPARATOR.$dir_imgs.DIRECTORY_SEPARATOR);
// Intentamos Subir Archivo
// (1) Comprobamos que existe el nombre temporal del archivo
if (isset($_FILES['imagen']['tmp_name'])) {
// (2) - Comprobamos que se trata de un archivo de imagen
if ($tipo == 'image') {
// (3) Por ultimo se intenta copiar el archivo al servidor.
//consulta el id_ejercicio para establecer el nombre de la imagen
require_once ('./includes/configuracionBD.php');
conexion_BD();
$sql="SELECT max(id_ejercicio)+1 FROM EJERCICIO";
$result = mysql_query($sql);
//devuelve una fila de datos en un array
$array = mysql_fetch_row($result);
//con $nuevoNombre = time."jpg" sí que se refresca la imagen al seleccionar un nuevo archivo.
//pero con $nuevoNombre = $array[0]."jpg" NO.
$nuevoNombre = $array[0].".jpg";
$nuevoNombre2 = time()."-2.jpg";
//intento redimensionarla nuevoNombre2, con lo cual para cada imagen guarda 2, una redimensionada y otra que no
redimensionProporcional($_FILES['imagen']['tmp_name'], $dir.$nuevoNombre2,100,0.5 );
if (!move_uploaded_file($_FILES['imagen']['tmp_name'], $dir.$nuevoNombre)){
echo '<script>resultadoUpload (\'3\', \''.$nuevoNombre.'\');</script>';
$nuevoNombre="nada.jpg";
} else {
echo '<script>resultadoUpload (\'0\', \''.$nuevoNombre.'\');</script>';
}
} else {
echo '<script>resultadoUpload (\'2\', \''.$_FILES['imagen']['name'].'\');</script>';
}
} else {
echo '<script>resultadoUpload (\'1\', \''.$_FILES['imagen']['name'].'\');</script>';
}