hola forer@s, creo que he dado mucha lata ultimamente
pues aquí otra vez
verán, hago un upload de imágenes con uploadify (si sigo peleándome con el, creo que ya lo odio), la forma en que actúa este plugin (o como se llame) es que si por ejemplo el usuario elige subir 3 imágenes, se llama 3 veces al php donde hace el move_uploaded_file, entonces ahi mismo yo armo el nombre del archivo que se va a subir y lo guardo en la bd junto con su ruta,
lo armo asi:
Código PHP:
$fileName="img_".$id_publicacion;
pero aquí viene el problema, retomando el ejemplo, el usuario hizo la publicación con el id 30, quiere subir 3 imágenes, en la primera todo bien, el nombre se guardaría:
img_30
la segunda imagen el nombre quedaria igual img_30
necesito verificar que:
si no existe el nombre lo cree asi:
img_30_1
si ya existe, verificar el numero que tiene al ultimo y sumarle 1 para que el segundo sea:
img_30_2
y así sucesivamente
el codigo que tengo actualmente es este:
Código PHP:
include('../conexion_mysql/conecta_db.php');
$conn_mysql = conecta_db();
$query_id="select max(id_publicacion) as last from publicaciones";
$res_id=mysql_query($query_id) or die ("Error ".mysql_error());
$row_id=mysql_fetch_array($res_id, MYSQL_ASSOC);
$id_publicacion=$row_id['last'];
mysql_free_result($res_id);
$root = $_SERVER['DOCUMENT_ROOT'];
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $root.'/images/uploads/';
$fileName = "img_".$id_publicacion;
$targetFile = $targetPath.$fileName;
move_uploaded_file($tempFile,$targetFile);
$sql_insert="Insert into imagenes (nombre_img, ruta_img, id_publicacion) values ('$fileName', '$targetFile', '$id_publicacion')";
mysql_query($sql_insert) or die('Error en la inserción: '.mysql_error());
echo "ok";
Entonces yo trate de añadir estas lineas:
Código PHP:
$cont=1;
$fileName="img_".$id_publicacion."_".$cont;
$sql_query="select nombre_img from imagenes where id_publicacion='$id_publicacion'";
$res=mysql_query($sql_query) or die('Error en la consulta: '.mysql_error());
while($row = mysql_fetch_array($res,MYSQL_ASSOC)){
if($row['nombre_img']==$fileName){
$fileName="img_".$id_publicacion."_".$cont+1;
}
}
pero el problema de este código es que el primer insert me guarda img_30_1 y los 2 siguientes solo guarda el numero 1
pero eso no es lo peor, voy a la carpeta donde sube las imágenes y tengo solo dos llamadas img_30_1 y 1 y sin extensión, porque obviamente y como podrán darse cuenta no le estoy agregando la extensión del archivo y es que no se como averiguar que extensión están subiendo ya que permito jpg, jpeg, png y gif
Que enredo
, espero que puedan ayudarme, gracias