Hola. Me ha surgido un problemilla inesperado. Me he dado cuenta que cuando quiero subir una imagen desde un iphone en la web, esa imagen siempre se llama igual, image.jpg. Tengo una condición en el código que controla esto, para que se suban fotos iguales. pero claro, el problema es no son iguales, sino que las llama todas igual, y solo se sube una, a no ser que yo vaya cambiando el nombre de las imágenes que se han subido antes en la carpeta, pero esto es una burrada.
Mi intención es que en if para controlar si ya existe una imagen con ese nombre, sustituya este nombre por la fecha y hora en que se esta subiendo, por ejemplo, cambiar image.jpg por 12-12-2015 18:20:20, de esta manera, sería mucha casualidad que se fuesen a subir más de una imagen en el mismo segundo.
Pero no tengo ni idea de como cambiar esto, por que veo que la variable es ["name"], pero si la cambio igual le estoy quitando también la extensión .jpg.................Bueno, os dejo el código a ver que opináis:
<?php
if(isset($_POST['boton'])){
// Hacemos una condicion en la que solo permitiremos que se suban imagenes y que sean menores a 20 KB
if ((($_FILES["archivo"]["type"] == "image/gif") ||
($_FILES["archivo"]["type"] == "image/jpeg") ||
($_FILES["archivo"]["type"] == "image/jpg") ||
($_FILES["archivo"]["type"] == "image/pjpeg")) &&
($_FILES["archivo"]["size"] < 2000000)) {
//Si es que hubo un error en la subida, mostrarlo, de la variable $_FILES podemos extraer el valor de [error], que almacena un valor booleano (1 o 0).
if ($_FILES["archivo"]["error"] > 0) {
echo $_FILES["archivo"]["error"] . "";
} else {
// Si no hubo ningun error, hacemos otra condicion para asegurarnos que el archivo no sea repetido
if (file_exists("archivos/" . $_FILES["archivo"]["name"])) {
echo $_FILES["archivo"]["name"] . " ya existe. ";
} else {
// Si no es un archivo repetido y no hubo ningun error, procedemos a subir a la carpeta /archivos, seguido de eso mostramos la imagen subida
move_uploaded_file($_FILES["archivo"]["tmp_name"],
"archivos/" . $_FILES["archivo"]["name"]);
echo "Archivo Subido ";
echo '<img src="archivos/".$_FILES["archivo"]["name"]>';
}
}
} else {
// Si el usuario intenta subir algo que no es una imagen o una imagen que pesa mas de lo permitido mostramos este mensaje
echo "Archivo no permitido";
}
}