mb_detect_encoding($destino, "UTF-8") == "UTF-8" ? : $destino = utf8_encode($destino);
Traducción. Primero la funcion mb_detect_enconding detecta la codificacion de la variable destino y la devuelve. Ese valor que devuelve se compara con el string "UTF-8" y usa el operador ? (del cual yo desconocía la existencia) y por último, en caso de que la comparación de 0 o false usa dos puntos ":" (que tampoco conocía su existencia) para decirle que use la funcion utf8_encode()
Cuando he visto que todo esto se podía hacer en una línea con estos operadores que yo desconocía, me he quedado asi
Desde siempre se ha podido hacer esto asi o es nuevo de php 5.3?
Saludos