Parsear archivos CVS (PHP)
Publicado poralegg | En Codigo | Posted on 08-06-2010
0
$fh = fopen("archivo.csv", "r");
while($line = fgetcsv($fh, 1000, ",")) {
echo "salida: {$line[1]}";
}
$fh = fopen("archivo.csv", "r");
while($line = fgetcsv($fh, 1000, ",")) {
echo "salida: {$line[1]}";
}
$cadena= strip_tags($cadena);
Este es uno de los hacks más sencillos para asignar la altura mínima a algún elemento:
selector {
min-height:250px;
height:auto !important;
height:250px;
}
RewriteRule ^categorias-(.*).html$ index.php?categorias=$1
function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
}
El patrón Factory permita la instancia de objetos en tiempo de ejecución. Es llamado el patrón Factory puesto que es responsable de “manufacturar” un objeto.
class Example
{
// The factory method
public static function &factory($type)
{
if (include_once 'Drivers/' . $type . '.php')
{
$classname = 'Driver_' . $type;
return new $classname;
} else {
throw new Exception ('Driver not found');
}
}
}
Al definir este método en una clase se nos permite que los drivers sean cargados al vuelo. Si la clase Example fuera una clase de abstracción de base de datos, cargar un manejador de MySQL y SQLite podría ser hecho como sigue:
// Load a MySQL Driver
$mysql = Example::factory('MySQL');
// Load a SQLite Driver
$sqlite = Example::factory('SQLite');
El patrón Singleton se aplica a situaciones en las cuales hay la necesidad de tener una sola instancia de una clase. El ejemplo más común de esto es una conexión de base de datos. Tendremos una simple instancia fácilmente accesible a muchos otros objetos.
class Example
{
// Hold an instance of the class
private static $instance;
//A private constructor; prevents direct creation of object
private function __construct()
{
echo 'I am constructed';
}
// The singleton method
public static function singleton()
{
if (!isset(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c;
}
return self::$instance;
}
// Example method
public function bark()
{
echo 'Woof!';
}
// Prevent users to clone the instance
public function __clone()
{
trigger_error('Clone is not allowed.', E_USER_ERROR);
}
}
/**
* function dir_recursivo (string $destino)
*
* Crea un arbol de directorios de manera recursiva
*
* return boolean
*/
function dir_recursivo ($destino) {
if (is_dir($destino)) {
return true;
}
$dirs = explode('/', $destino);
$dir = '';
foreach ($dirs as $part) {
if (empty($part) || ($part == '.')) {
continue;
}
$dir .= '/'.$part;
if ($part == '..') {
continue;
}
if (!is_dir($dir)) {
$ok = @mkdir($dir, 0755);
if (!$ok) {
return false;
}
}
}
clearstatcache();
return is_dir($destino);
}
jQuery(document).ready(function() {
// Cuando cambie un select de la página...
jQuery('select').change(function () {
var sumSelecteds = 0;
// ... para cada select con el value seleccionado que no sea -1 ...
jQuery('select').each(function (i) {
// ... incrementamos un contador
if( jQuery(this).attr("value") != -1 ) sumSelecteds++;
});
if(sumSelecteds > 1) {
// Mostramos todos los TD cuyo id contenga berserk
jQuery("td[id*='berserk']").fadeIn(1000);
// Mostramos todos los TD cuyo name contenga berserk
jQuery("td[name*='berserk']").fadeIn(1000);
// Esto hace lo mismo que el anterior
jQuery('td').each(function (i) {
jQuery("td[name*='berserk']").fadeIn(1000);
});
}
});
});
Creamos el formulario:
Creamos el archivo upload.php que recibira el POST del formulario
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) {
//Es un JPEG and pesa menos de 350Kb
$filename = basename($_FILES['uploaded_file']['name']);
$ext = substr($filename, strrpos($filename, '.') + 1);
if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") &&
($_FILES["uploaded_file"]["size"] < 350000)) {
// Seleccionamos la carpeta en donde se subira el archivo
$newname = dirname(__FILE__).'/upload/'.$filename;
// Chequear si ya existe ese archivo en el servidor
if (!file_exists($newname)) {
// Mover el archivo
if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname))) {
echo "Subido correctamente el archivo:: ".$newname;
} else {
echo "Error: No se puso subir el archivo!";
}
} else {
echo "Error: File ".$_FILES["uploaded_file"]["name"]." ya existe ";
}
} else {
echo "Error: Solo imagenes .jpg images con un peso menor a 350Kb son aceptados";
}
} else {
echo "Error: No se subio ningun archivo";
}