Archive for the ‘ PHP ’ Category

Detectando iPhone iPad iPod

Para detectar si nuestra página web es visitada por iPhone, iPad o iPod podemos utilizar estos dos útiles snippets:

PHP

1
2
3
4
5
6
7
8
9
if(
    strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') ||
    strstr($_SERVER['HTTP_USER_AGENT'],'iPod') ||
    strstr($_SERVER['HTTP_USER_AGENT'],'iPad')
)
{
    header('Location: http://yoursite.com/iphone');
    exit();
}

Javascript

1
2
3
4
5
6
7
8
if(
    (navigator.userAgent.match(/iPhone/i)) ||
    (navigator.userAgent.match(/iPod/i)) ||
    (navigator.userAgent.match(/iPad/i))
)
{
    //Your redirection code here
}

.htaccess

1
2
3
4
5
6
7
8
RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.yourdomain.com [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*iPhone.*$
RewriteRule ^(.*)$ http://mobile.yourdomain.com [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*BlackBerry.*$
RewriteRule ^(.*)$ http://mobile.yourdomain.com [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*Palm.*$
RewriteRule ^(.*)$ http://mobile.yourdomain.com [R=301]

Wordpress. Flash uploader. HTTP error

Para solucionar un problema del cargador de ficheros flash de wordpress deberemos editar el .htaccess de la carpeta wp-admin e introducior el siguiente codigo:

1
2
3
4
5
6
7
8
#BEGIN Image Upload HTTP Error Fix
<IfModule mod_security.c>
<Files async-upload.php>
SecFilterEngine Off
SecFilterScanPOST Off
</Files>
</IfModule>
#END Image Upload HTTP Error Fix

PHP uploading large file sets

Que debemos configurar

El archivo php.ini contiene los parámetros de configuración de PHP, entre ellas los parámetros relacionados para subir archivos, estas propiedades son:

  • post_max_size: tamaño máximo de datos enviados por POST.
  • upload_max_filesize: tamaño máximo para subir archivos.
  • max_execution_time: tiempo máximo de ejecución de cada script en segundos.
  • max_input_time: tiempo máximo para analizar la petición de datos.

Primer Método: Configurando php.ini

La primera forma para habilitar el upload de archivos grandes es editar el archivo php.ini. Entonces, abrimos el archivo php.ini y cambiamos los parámetros deseados, en nuestro caso habilitamos un máximo de 100 Mb de tamaño a subir y un tiempo máximo de 1000 segundos:

1
2
3
4
5
6
7
;Resource Limits ;
max_execution_time = 1000
max_input_time = 1000
; Maximum size of POST data that PHP will accept.
post_max_size = 100M
; Maximum allowed size for uploaded files.
upload_max_filesize = 100M

Segundo Método: Configurando .htaccess

La segunda forma de cambiar la configuración es con la ayuda del archivo .htaccess, para ello creas un archivo llamado .htaccess en la raiz de tu servidor web, luego dentro de este archivo colocas lo siguiente:

1
2
3
4
php_value upload_max_filesize 100M
php_value post_max_size 100M
php_value max_execution_time 1000
php_value max_input_time 1000

Tercer Método: Configurando en el script php

La tercera forma es cambiar los parámetros de configuración directamente en nuestro script php, para ello haremos uso de la función ini_set que permite sobrescribir la configuración general, entonces al inicio de nuestro script que se encargará de procesar los archivos subidos colocamos:

1
2
3
4
ini_set('post_max_size','100M');
ini_set('upload_max_filesize','100M');
ini_set('max_execution_time','1000');
ini_set('max_input_time','1000');