Archivo de la categoría: Programación

Sección dedicada a la programación y diseño web

Ver las extensiones cargadas en PHP – PHP Tips

PHP Programming languageEn la entrada de Opciones de PHP desde Linea de comandos veíamos unas cuantas opciones con las cuales usar el comando PHP. Otra de estas opciones es usar la opción -m para ver los módulos que tenemos cargados, usar esta opción es mas clara que usar la opción -i con la cual nos da mas información.

$ php -m
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

Mas información

Ordenando Arrays de manera natural con PHP – PHP Tips

PHP Programming languageAlgo que nos puede suceder a la hora de ordenar los valores almacenados en un array, es que si estos valores contienen números, al ordenarlo se nos muestra por ejemplo el 10 delante del 2. Esto sucede por que no ordenamos nuestro array de manera natural. Por ejemplo:


$array = array('img1.png', 'img2.png', img10.png', 'img20.png');

asort($array);

var_dump($array);

/* Devuelve
array(4) {
 [0] =>
 string(10) "img1.png"
 [2] =>
 string(11) "img10.png"
 [1] =>
 string(10) "img2.png"
 [3] =>
 string(11) "img20.png"
}
*/

La función asort ordena los valores del array manteniendo sus indices, tal como vemos en el resultado, y nos ordena los valores respecto al carácter. Esta función acepta otro parámetro llamado sort_flag con el cual podemos especificar que tipo de ordenación queremos. Si lo que queremos es que nos ordene de manera natural tenemos que usar la flag SORT_NATURAL


$array = array('img1.png', 'img2.png', img10.png', 'img20.png');

asort($array, SORT_NATURAL);

var_dump($array);

/* Devuelve
array(4) {
 [0] =>
 string(10) "img1.png"
 [1] =>
 string(10) "img2.png"
 [2] =>
 string(11) "img10.png"
 [3] =>
 string(11) "img20.png"
}
*/

Ahora podemos ver que nuestra array esta ordenada de una manera natural, es decir, el 10 viene detrás del 2.

Otra función, la cual podríamos considerarla como un alias de la anterior es natsort nos ordena de una manera natural directamente.

$array = array('img1.png', 'img2.png', img10.png', 'img20.png');

natsort($array,);

var_dump($array);

/* Devuelve
 array(4) {
 [0] =>
 string(10) "img1.png"
 [1] =>
 string(10) "img2.png"
 [2] =>
 string(11) "img10.png"
 [3] =>
 string(11) "img20.png"
 }
 */

Como eliminar las extensiones .php, .html y htm de nuestra pagina web con .htaccess

Apache Web Server

A la hora de presentar nuestra pagina web, a veces nos puede interesar, que el usuario no sepa como esta hecha la pagina web, o simplemente queremos simplificar el enlace para que se pueda acceder de una manera sencilla.

He encontrado esta pagina web, la cual merece ser visitada, ya que esta muy bien hecha, en la cual nos explican de una manera muy sencilla, aunque en inglés, de como configurar, si usamos Apache, con .htaccess, para ocultar las extensiones.

http://alexcican.com/post/how-to-remove-php-html-htm-extensions-with-htaccess/

Error json_encode() json_decode() en Ubuntu 13.10

Durante las pasadas Navidades, y después de pensármelo mucho, actualice la versión de Ubuntu del ordenador que uso para desarrollar. Después de unos cuantos problemas, sobre todo con la tarjeta gráfica, conseguí actualizarlo y dejarlo funcional. Una vez me puse de nuevo a desarrollar me encontré con el siguiente error.

PHP Fatal error: Call to undefined function json_encode()

Resulta que con la actualización de Ubuntu, también se actualiza la versión de PHP, y con esta actualización no se instalan las extensiones de JSON, decir que este error os saldrá si usáis las funciones JSON, las cuales, si realizáis peticiones AJAX, casi seguro que implementáis.

Como solución, lo tipico, abrimos la consola, y ejecutamos el siguiente comando para instalar


sudo apt-get install php5-json

Una vez instalado ya no volverá a salirnos este error.

http://es1.php.net/manual/en/json.installation.php

How to prevent mail from going to spam

Avatar de baljitdhanoaBaljit Web Developer

$to = $user_email;

$subject=’Application Form ‘;
$message=’testing’;
$headers  = «From: My site<noreply@example.com>\r\n»;
$headers .= «Reply-To: info@example.com\r\n»;
$headers .= «Return-Path: info@example.com\r\n»;
$headers .= «X-Mailer: Drupal\n»;
$headers .= ‘MIME-Version: 1.0’ . «\n»;
$headers .= ‘Content-type: text/html; charset=iso-8859-1’ . «\r\n»;
if(mail($to,$subject,$message,$headers))
{
echo «Mail Successfully Sent..»;
exit;
}

Ver la entrada original

PHP: isset() versus empty()

Avatar de AuthorKate's Code Derps

Empty() is generally better to use over isset() ‘cause empty() will pick up strings with no values and will catch empty $_REQUEST statements. Whoo!

Ver la entrada original

Download file created dynamically using PHP headers

Avatar de Varun VermaDeveloper Diary

I used this snippet to dynamically create some content and allow the user to download it as a file.

$fileContent = ".... Your Content ...";
$filename = "licenseFile.lic";
header("Content-Type: application/download");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: public");
header("Content-Disposition: attachment; filename=\"$filename\"");

echo $fileContent;
exit()

Ver la entrada original

How to remove mysql completely from a Mac

What’s the SQL Injection.?

Avatar de Ahsanahsan's weblogs

An SQL Injection can destroy your database.

SQL Injection

SQL injection is a technique where malicious/harmful users can inject SQL commands into an SQL statements, via web page input.
Injected SQL commands can alter SQL statement and compromises the security of a web application.

1. SQL Injection Based on 1=1 is Always True.

txtUserId = getRequestString(«UserId»);
txtSQL = «SELECT * FROM Users WHERE UserId = » + txtUserId;
txtUserId = 105 or 1=1;
SELECT * FROM Users WHERE UserId = 105 or 1=1;

2. SQL Injection Based on «»=»» is Always True.

uName = getRequestString(«UserName»);
uPass = getRequestString(«UserPass»);
sql = «SELECT * FROM Users WHERE Name ='» + uName + «‘ AND Pass ='» + uPass + «‘»

SELECT * FROM Users WHERE Name =»» or «»=»» AND Pass =»» or «»=»»
The result SQL is valid. It will return all rows from the table Users, since WHERE «»=»» is…

Ver la entrada original 41 palabras más

How to remove orphan rows in multiple left join in mysql?

Avatar de Ashish saxenaAshish Saxena

SELECT * FROM parent_table
LEFT JOIN child_tab ON parent_table.id = child_tab.parent_id
LEFT JOIN child_tab2 ON parent_table.id = child_tab2.parent_id

Where clause for that

WHERE COALESCE(child_tab.parent_id, child_tab2.parent_id) IS NOT NULL

Ver la entrada original