Saber si el comando exec() funciona con PHP

Cuando necesitamos ejecutar una orden, también es adecuado saber si la orden fue o no ejecutada correctamente. Para ello utilizaremos el siguiente código:

$convert=exec("ffmpeg -i video.mp4 -ar 22050 -ab 32 -f flv -s 320x240 video.flv",$salida,$valor);
if ($valor == 127) {
echo "no Funcionó";
} else{
echo "Se ejecutó correctamente";
}

Contenido autoajustable – Css

Muchas veces queremos que un div se adapte a la cantidad de contenido que tenemos que mostrar. La solución para eso está en la propiedad overflow.

Veamos un ejemplo sin la propiedad overflow con altura de 20px:

bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla

Ahora veamos un ejemplo con la propiedad overflow aplicada:

bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
Para lograr esto aplicamos height:auto; overflow:hidden; en el div que posee el contenido.
Como verán, el div se reajusta al contenido – a diferencia del primer caso -.

Enviar datos por POST con Curl

Esto es sólo para enviar el dato:
$ch = curl_init(‘http://tuurl.com/archivoquerecibepost.php’);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, «datopost=123»); //acá se envía el dato
curl_exec ($ch);
curl_close ($ch);
Si lo que desean es recibir el resultado del dato enviado usen éste código:
$ch = curl_init(‘http://turl/tuphp.php’);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, «user=programarenajax»);
$re=curl_exec ($ch);
curl_close ($ch);
echo $re;

Enviar mails con PHPMailer

1) bajen el paquete de acá: http://phpmailer.worxware.com/index.php?pg=sf&p=dl

2)
include("PHPMailer/class.phpmailer.php");
$mensaje="hola, blablablablabla********"; //pueden incluir html
$Nmail=new PHPMailer();
$Nmail->Host = "localhost";
$Nmail->From = "correo@correo correo del que envía";
$Nmail->FromName = "nombre del que envía";
$Nmail->Subject = "asunto";
$Nmail->AddAddress("emailalqueseenvía@asdsd.com","Nombre");
$Nmail->Body = $mensaje; //*********EL MENSAJE A ENVIAR************
$Nmail->AltBody = "Relleno xD";
$Nmail->Send();

Publicar en muro de facebook con PHP.

require_once 'php/facebook.php'; //Ruta de la api...
$Aplicacion = '57c67144f9d37aa06e99b93779c92b3d'; //clave de la aplicación
$ClaveSecreta = '74932a8ff8e41a340a730211e4609316'; //clave secreta
$destino=$_POST['destino']; //destino para horóscopo
$signo=$_POST['signo'];//signo horóscopo

$facebook = new Facebook($Aplicacion, $ClaveSecreta); //conecto
$user_id = $facebook->require_login();  //obtengo id del usuario
$user_details = $facebook->api_client->users_getStandardInfo($user_id,array(‘birthday’)); //obtengo la fecha de nacimiento. En el array se pueden agregar más parametros, abajo dejo un link a la wiki.

$imagen_signo=»http://comosellaman.com/facebook/images/».$signo.».png»;
$message =$signo.»: «.$destino;
$attachment = array(
‘name’ => «Horóscopo blabla»,  //nombre
‘href’ => «http://apps.facebook.com/tuapp/», //url
‘description’ => $message, //mensaje
‘media’ => array(array(‘type’ => ‘image’,
‘src’ => $imagen_signo, //imagen
‘href’ => ‘http://apps.facebook.com/tuapp/’))); //link de la imagen

$action_links = array( array(‘text’ => ‘Ingresar’, ‘href’ => ‘http://apps.facebook.com/tuapp/’));
$attachment=json_encode($attachment);
$action_links = json_encode($action_links);

try {
$facebook->api_client->stream_publish($message, $attachment, $action_links); //publica
}catch(Exception $e) {
echo «Has denegado el permiso para publicar mensajes a nuestra aplicación»; //mensaje en caso de que haya denegado la publicación para esta aplicación
exit();
}
if(!$e){  echo «Publicación Concretada»;  //publicación realizada}

Link getStandardInfo función simplemente añaden los parámetros al array array(‘uid’,’birthday’, etc…

Url’s amigables ejemplo sencillo.

Activar Mod_rewrite: Abrimos el archivo httpd.conf de Apache y buscamos la línea «< /Directory>» y reemplazamos por esto:

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

Ahora buscamos esta línea: «LoadModule rewrite_module modules/mod_rewrite.so». En caso de tener un numeral (#) antes del «Load» simplemente lo descomentamos – sacamos el # -, caso contrario lo dejamos igual.

Reniciar apache.

————————————————

Ahora ponemos un archivo .htaccess en la carpeta donde están los archivos a los cuales se aplicará la regla para las urls.

Dentro del htaccess escribimos esto:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^(.*)\.html$ index.php?p=$1

^(.*) -> caracteres cualesquiera. El «^» indica que ahí comienza.

\.html -> La barra escapa el punto y lo siguiente es la extensión falsa que agregamos a la url ( se puede poner otra…).

index.php -> url real sobre la que enviaremos por get los valores

?p=$1 -> «p» es un parametro de GET ($_GET[‘p’]). «$1» va a ser el valor enviado desde la url ficticia.

Ejemplo:

url «amigable»: http://localhost/ht/155.html          – en este caso $1 = 155

url real: http://localhost/ht/index.php?p=155

——–

Url con expresiones regulares: http://www.mclibre.org/consultar/php/lecciones/php_expresiones_regulares.html