Category: PHP

  • Enviar mensajes desde Codeigniter con gmail

    Enviar mensajes desde Codeigniter con gmail

    1. Descargar Codeigniter
    2. Crear el controlador email  ./application/controllers/email.php con el siguiente código:
      <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
      
      class Email extends CI_Controller {
      
      	public function index()
      	{
      		$config = Array(		
      				    'protocol' => 'smtp',
      				    'smtp_host' => 'ssl://smtp.gmail.com',
      				    'smtp_port' => 465,
      				    'smtp_user' => 'correo@gmail.com',
      				    'smtp_pass' => 'clave',
      				    'smtp_timeout' => '4',
      				    'mailtype'  => 'text', 
      				    'charset'   => 'iso-8859-1'
      				);
       
      		$this->load->library('email', $config);
      		$this->email->set_newline("\r\n");
      
      		$this->email->from('correo@gmail.com', 'correo@gmail.com');
      		$this->email->to('destino@ejemplo.com');
      		//$this->email->cc('otro@otro-ejemplo.com');
      		//$this->email->bcc('copiaoculta@otro-ejemplo.com');
      
      		$this->email->subject('Email Test');
      		$this->email->message('Mensaje de Prueba');
      
      		$this->email->send();
      
      		echo $this->email->print_debugger();
      
      
      	}
      }

      (more…)

  • Error 500 Codeigniter .htaccess

    Error 500 Codeigniter .htaccess

    Primero hay que tener habilitado el mod_rewrite y el contenido del archivo htaccess debe ser algo como este ejemplo:

    RewriteEngine on
    RewriteCond $1 !^(index\.php|images|fonts|bootstrap-calendar|robots\.txt|css|img|js)
    RewriteRule ^(.*)$ index.php/$1 [L]

    y lo mas importante, para evitar el error 500 son los permisos, del archivo index.php el cual debe ser 644

     

     

  • Obtener errores de conexión de bases de datos en Codeigniter

    Obtener errores de conexión de bases de datos en Codeigniter

    Primero debemos ocultar cuando se presenta un error en codeigniter.

    En application/config/database.php desactivamos el debug:

    $db['db']['db_debug'] = FALSE;

    Luego en el modelo el usamos conn_id para comprobar si la conexión se hizo efectiva:

    $DB1 = $this->load->database('db', TRUE);
    $DB1->from('usuarios');
    $query = $DB1->get();
    if (!$DB1->conn_id) {
    echo 'DB connection error!';
    }

    Y listo.

  • Mostrar la salida de comandos ejecutados en php con exec()

    En algunos casos deseamos ver el resultado de los comandos ejecutados a través del navegador para saber si  se ejecutó correctamente.

    Para mostrar la salida en el navegador basta con añadir al final  2>&1, guardar la salida en un arreglo y mostrarlo, quedando de la siguiente forma:

    <?php
    $command=("ls 2>&1");
     exec($command,$out);
     echo "<pre>";
     print_r($out);
     echo "</pre>";
    ?>

    Dando el resultado de esta forma: (more…)

  • PHPExcel: Uncaught exception ‘Exception’ with message ‘Could not close zip file

    Empezando a usar la libreria PHPExcel me encontré con el siguiente problema:

    15:45:52 Create new PHPExcel object
    15:45:52 Set document properties
    15:45:52 Add some data
    15:45:52 Rename worksheet
    15:45:52 Write to Excel2007 format
    Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file /var/www/osmon/scripts/gui/hotspot/final/Tests/01simple.xlsx.' in /var/www/osmon/scripts/gui/hotspot/final/Classes/PHPExcel/Writer/Excel2007.php:378 Stack trace: #0 /var/www/osmon/scripts/gui/hotspot/final/Tests/01simple.php(80): PHPExcel_Writer_Excel2007->save('/var/www/osm...' #1 {main} thrown in /var/www/osmon/scripts/gui/hotspot/final/Classes/PHPExcel/Writer/Excel2007.php on line 378

    La solución al problema es tan simple como asignar permisos de escritura a la carpeta Tests en la cual se va a escribir (guardar) el archivo de excel.

    Otras posibles razones de este error son:
    1. El directorio donde se desea guardar no existe.
    2. El archivo se encuentra abierto por otra aplicación.