Tuesday, July 24, 2007

Mostrar resultados PHP en un Flash

Dejo un ejemplo muy simple para que se entienda el procedimiento de cómo trabajar con php y flash, y así poder entregar resultados más atractivos en cuanto a diseño.

Anteriormente publiqué otro ejemplo sobre flash con texto dinámico. Este trabaja con javascript y también es muy útil. Pero también queremos trabajar directamente en php para que el archivo flash "llame" las variables generadas por nosotros en php.

Los códigos:

en php (paraswishmax.php)

'<'? //Expongo esto a modo de ejemplo. echo "&var_para_swishmax=cualquier cosa&amp;"; ?'>'


en swishmax

loadVariables("paraswishmax.php");

Lo otro:
  • El texto creado en swishmax debe tener el nombre que que usamos en "paraswishmax.php" que en este caso es 'var_para_swishmax'
  • Fíjense que la línea para el flash (en "paraswishmax.php") debe iniciar y terminar con un ampersand (&)
  • El archivo no corre directamente en tu pc, debes tener instalado apache. Si no lo posees instala appserv
Fíjense que este procedimiento no es muy complicado versus lo que puedes lograr a hacer, sólo tu imaginación te detendría.

Descarga Ejemplo

Monday, July 09, 2007

Función para subir Imágenes

Bueno esta función es antigua. La hice hace bastante tiempo, pero les puede ser de utilidad, porque facilita la subida de una imagen JPEG o JPG, a su sitio.

Que hace:
  1. Sube el archivo
  2. Valida si es jpg o jpeg
  3. Si es indicado en los parametros redimensiona la imagen en 2 tamaños

Al final entregaria 3 imagenes: la original, redimensionada 1, redimensionada 2 y retorna el nombre generado para la imagen.

Para poder utilizarla o llamar la imagen seria:

ej:

Supongamos que el nombre generado es "14521458.jpg"

original: 14521458.jpg
redim 1: res14521458.jpg
redim 2: th14521458.jpg

Espero que haya sido claro...

Códigos:

PHP

'<''?'php
/* Subir Foto imagen */
/* Sube una imagen desde el pc al servidor, le cambia la resolucion para la pagina y crea la thumbnail.
El directorio de subida debe estar dentro del raiz
$inpt : nombre del campo de archivo en el form.
$dir : directoruio a subir (debe existir y debe ir asi: dir/)
$aj 0-1 : Indica si haremos resolucion
$ajx : ancho de resolucion
$th 0-1 : Indica si haremos thumnail
$thx : ancho
$thy : alto */
function subir_foto($inpt,$dir,$aj,$ajx,$th,$thx,$thy){
$uploadDir =$DOCUMENT_ROOT.$dir;
$uploadFile = $uploadDir.$_FILES[$inpt]['name'];
if (move_uploaded_file($_FILES[$inpt]['tmp_name'], $uploadFile)){
$secargo=1;
}else{
$secargo=0;
}
chdir($DOCUMENT_ROOT.$dir);
if((strpos($_FILES[$inpt]['name'],"jpg") strpos($_FILES[$inpt]['name'],"jpeg")) (strpos($_FILES[$inpt]['name'],"JPG") strpos($_FILES[$inpt]['name'],"JPEG"))){
$nnew=date("d"."m"."y"."h"."i"."s").".jpg";
rename($_FILES[$inpt]['name'],$nnew);
$img=imagecreatefromjpeg($nnew);
$alto=imagesy($img);$ancho=imagesx($img);
/* Crear imagen ajustada */
if($aj==1){
$anchores=$ancho/$ajx;
$altores=$alto/$anchores;
$res=imagecreatetruecolor($ajx,$altores);
imagecopyresampled($res,$img,0,0,0,0,$ajx,$altores,$ancho,$alto);
imagejpeg($res,"res".$nnew);
}/* Crear imagen ajustada FIN */
/* Crear imagen chica */
if($th==1){
$thumb=imagecreatetruecolor($thx,$thy);
imagecopyresampled($thumb,$img,0,0,0,0,$thx,$thy,$ancho,$alto);
imagejpeg($thumb,"th".$nnew);
}/* Crear imagen chica FIN */
return $nnew;
}
else{
unlink($_FILES[$inpt]['name']);
}
}
'?>'

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
<html xmlns="http://www.w3.org/1999/xhtml"&gt;
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>
<body>
<?
if(strlen($_FILES['flog_f']['name'])){
//agregar foto
$flog_foto=subir_foto("flog_f","uploads/",1,450,1,80,70);
}?
>
<form action="[php]<?= $PHP_SELF?>[/php]" method="post" enctype="multipart/form-data" name="flog_form" id="flog_form">
Foto <strong>SOLO JPEG ó JPG</strong> :<input name="flog_f" type="file" id="flog_f" />
<input name="submit" type="submit" id="submit" value="Enviar" />
</form>
</body>
</html>

Descargar Archivos

Thursday, July 05, 2007

Centrar Página

Anteriormete publique otra manera de centrado con respecto a los cuatro lados de la ventana, pero debes determinar el ancho y el alto de la página.

Esta solución es sólo si quieres centrarla con respecto a la izquierda y derecha, y en este caso sólo debemos determinar el ancho.

Código (Debe ir en el head):

<style type="text/css">
#contenedor { width: 764px; margin-top: 10px; margin-right: auto; margin-bottom: 10px; margin-left: auto; position: relative;}
</style>

Toda la página debe estar dentro de #contenedor (En Body)

Código:

<div id="contenedor">aca tu web</div>

Ejemplo centrar pagina

Impedir que bajen imágenes de tu sitio

En realidad sería dificultar la bajada, ya que hay muchas maneras de conseguir descargar lo que quieras de un sitio. Pero por lo menos esto hará la tarea más dificil.

IMPORTANTE: No olvides poner un index "vacio" en la carpeta donde alojas tu imágenes. En el archivo de ejemplo dejé el index que deberías usar.

Dos maneras:
- Utilizando javascript+un meta para imágenes.
- Usando capas con imagen de fondo.

No hay inconveniente para usar ambas, pero es más fácil utilizar la primera.


- Utilizando javascript+un meta para imágenes.
Debes insertar este código javascript en tu página. Es recomendable llamarlo en vez de insertarlo.

Código: (en el archivo js)


// Desactiva la selección de texto en el body.
document.onselectstart = new Function ("return false");
document.ondragstart = new Function ("return false;");
document.oncontextmenu = new Function ("return false;");


Y entre el head de tu página usas este meta:
Esto es para que no aparezca la barrita de opciones en IE para imágenes.

<meta http-equiv="imagetoolbar" content="no">

Ejemplo utilizando javascript+un meta para imágenes

- Usando capas con imagen de fondo.
Este es más engorroso pero también es utilizado.

Debes usar una capa o div y usar en el "background-image" la imagen que usarás.