viernes, 11 de enero de 2019
API para conocer el tipo de dispositivo en JavaScript
<head>
<script type="text/javascript" src="https://wurfl.io/wurfl.js"></script>
<script>
if (WURFL.form_factor == 'Smartphone') {
if (WURFL.complete_device_name.indexOf("Apple iPhone") == 0) {
// iPhone
} else {
// Android
}
} else {
// Feature phone
}
</script>
</head>
Etiquetas:
android,
api,
conocer,
dispositivo,
feature,
iphone,
javascript,
movil,
phone,
tipo,
wurfl
API para obtener sistema operativo, navegador y versión del usuario en PHP
Request:
https://uploadbeta.com/api/parse-user-agent/?s=nUser-Agent:[USER AGENT]
Response:
{"platform":"Windows","browser":"Chrome","version":"71.0.3578.98"}
Método para retornar valores en array:
function infoUA($ua) {
$url = 'https://uploadbeta.com/api/parse-user-agent/?s=nUser-Agent:' . urlencode($ua);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
$array = json_decode($response, 1);
return array($array['platform'], $array['browser'], $array['version']);
}
API para obtener datos sobre el país según la IP en PHP
Request para recibir response en JSON:
http://api.ipaddress.com/iptocountry?format=json
Response:
{"ipaddress":"100.110.160.99","continent_code":"SA","continent_name":"South America","country_code":"AR","country_name":"Argentina"}
Request para recibir response en XML:
http://api.ipaddress.com/iptocountry?format=xml
Response
<?xml version="1.0"?><location><ipaddress>100.110.160.99</ipaddress><continent_code>SA</continent_code><continent_name>South America</continent_name><country_code>AR</country_code><country_name>Argentina</country_name></location>
Método PHP para obtener código del país y nombre del país:
function infoIP($ip) {
$url = 'http://api.ipaddress.com/iptocountry?format=json&ip=' . $ip;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
$array = json_decode($response, 1);
return array(strtolower($array['country_code']), $array['country_name']);
}
Método para retornar resultados en array MySQL en PHP
function consultar($sql) {
$link = new mysqli('[IP]', '[USER]', '[PASSWORD]', '[BASE DE DATOS]');
if ($link->connect_errno) {
die('Fallo al conectar a MySQL: ' . $link->connect_error);
}
$result = $link->query($sql);
if ($result->num_rows > 0) {
$rows = array();
while ($row = $result->fetch_assoc()) {
$rows[] = $row;
}
return $rows;
} else {
return FALSE;
}
}
USO:
$sql = "SELECT id FROM tabla";
$array = consultar($sql);
foreach ($array as $key => $value) {
echo $value['id'];
}
Comprimir código HTML con PHP
Para comprimir se coloca el siguiente código PHP al inicio del documento:
ob_start('ob_gzhandler');
ob_gzhandler(ob_start('compress_page'), 5);
function compress_page($buffer) {
$search = array('/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s');
$replace = array('>', '<', '\\1');
return preg_replace($search, $replace, $buffer);
}
Método para crear urls amigables en PHP
function urls_amigables($url)
{
// Tranformamos todo a minúsculas
$url = strtolower($url);
// Reemplazamos caracteres especiales latinos
$find = array('á', 'é', 'í', 'ó', 'ú', 'ñ', 'á', 'é', 'Ã', 'ó', 'ú');
$repl = array('a', 'e', 'i', 'o', 'u', 'n', 'a', 'e', 'i', 'o', 'u');
$url = str_replace($find, $repl, $url);
// Añadimos los guiones
$find = array(' ', '&', '\r\n', '\n', '+');
$url = str_replace($find, '-', $url);
// Eliminamos y reemplazamos los demás caracteres especiales
$find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
$repl = array('', '-', '');
return preg_replace($find, $repl, $url);
}
Método para ofuscar texto en PHP
function obfuscate($text) {
$length = strlen($text);
$scrambled = '';
for ($i = 0; $i < $length; ++$i) {
$scrambled .= '&#' . ord(substr($text, $i, 1)) . ';';
}
return $scrambled;
}
Obtener IP real de un usuario aunque este en un Proxy con PHP
Para obtener la IP real se utiliza:
$ip = filter_input(INPUT_SERVER, 'HTTP_X_FORWARDED_FOR') ?? filter_input(INPUT_SERVER, 'REMOTE_ADDR');
Guardar archivo y mini preview de una imagen en PHP
1. Leer variables del formulario:
$vars = get_defined_vars();
2. Obtener todos los campos FILE:
extract($vars['_FILES']);
3. Definir variables con el input a trabajar:
$file_name = $PREVIEW['name'];
$file_tmp_name = $PREVIEW['tmp_name'];
$file_error = $PREVIEW['error'];
4. Cargar archivo al servidor:
$path = '../game/image/' . $ID . 'b.jpg';
move_uploaded_file($file_tmp_name, $path);
5. Guardar mini preview:
list($width, $height) = getimagesize($path);
$new_width = 233;
$new_height = 146;
$prev = imagecreatetruecolor($new_width, $new_height);
$origen = imagecreatefromjpeg($path);
imagecopyresampled($prev, $origen, 0, 0, 0, 0, $new_width, $new_height, $new_width, $new_height);
imagejpeg($prev, '../game/thumbnail/' . $ID . 'm.jpg', 70);
jueves, 10 de enero de 2019
Descargar el CDN en App Engine de Google
Para descargar una copia del CDN de Google se utiliza el comando:
appcfg.py download_app -A [NOMBRE DE LA APP] -V 1 [UNIDAD + PATH DESCARGA]
Ejemplo:
appcfg.py download_app -A appengcdn -V 1 D:\appengcdn
URL thumbnail o miniatura para Youtube
Urls para la imagen del vídeo Youtube estandar y HD.
https://i1.ytimg.com/vi/[CODIGO VIDEO]/hqdefault.jpg
https://i.ytimg.com/vi/[CODIGO VIDEO]/maxresdefault.jpg
Ejemplo:
https://i1.ytimg.com/vi/ROOHPmzrQ9k/hqdefault.jpg
https://i.ytimg.com/vi/ROOHPmzrQ9k/maxresdefault.jpg
Codificación UTF-8 para Netbeans
Netbeans por defecto omite las tildes y caracteres especiales. Para solucionar:
1. Ir a la carpeta de instalación y buscar el directorio etc
C:\Archivos de programa\NetBeans x.x\etc
2. Editar el archivo netbeans.conf agregando "-J-Dfile.encoding=UTF-8" en la línea de opciones por default del NetBeans (netbeans_default_options). El resto de opciones permanecen igual.
3. Volver a abrir Netbeans.
Etiquetas:
codificacion,
netbeans,
utf-8
Buscar contenido en archivos de forma recursiva en Linux
Para buscar cualquier contenido dentro de un archivo y obtener la lista de archivos que coinciden se utiliza:
grep -lir "[TEXTO A BUSCAR]" "PATH"
Ejemplo:
grep -lir "8801202" "/html/apps"
Reemplazar contenido de varios archivos sin conocer el script en Linux
Si no se conoce el script pero se desea reemplazar el contenido de uno o varios archivos se utiliza el comando find de Linux
find PATH -name "*.php" -print | xargs perl -pi -e "s/[TEXTO A BUSCAR][TEXTO A REEMPLAZAR]/g"
PATH es la ruta en el servidor. Si en el texto a buscar y/o texto a reemplazar es una url se deben escapar los caracteres slash. Por ejemplo:
find PATH -name "*.php" -print | xargs perl -pi -e "s/http:\/\/getbootstrap.com\/dist\/css\/bootstrap.min.css/https:\/\/bootswatch.com\/4\/cerulean\/bootstrap.min.css/g"
Etiquetas:
archivos,
contenido,
linux,
reemplazar,
script
Cómo actualizar uno o varios caracteres en un campo mysql
Formato
UPDATE tabla SET campo = REPLACE(campo, "a", "e");
Ejemplo
Si tenemos una tabla llamada juegos y en ella un campo llamado pais, cuyo contenido deseamos cambiar en todos los registros, debemos utilizar la siguiente expresión sql:
UPDATE juegos SET pais = REPLACE(pais, "rd", "do");
UPDATE tabla SET campo = REPLACE(campo, "a", "e");
Ejemplo
Si tenemos una tabla llamada juegos y en ella un campo llamado pais, cuyo contenido deseamos cambiar en todos los registros, debemos utilizar la siguiente expresión sql:
UPDATE juegos SET pais = REPLACE(pais, "rd", "do");
Etiquetas:
actualizar,
campo,
caracteres,
mysql
Suscribirse a:
Entradas (Atom)