Questo non è inteso come un'esagerazione, ma il suggerimento di pǝlɐɥʞ è un'implementazione pura PHP che non è poi così riutilizzabile. Volevi usare la sintassi $ this-> load-> image ('images/gorilla.png') ecco come puoi.
Crea /application/libraries/MY_Loader.php
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Loader Class
*
* Loads views and files
*
* @package CodeIgniter
* @subpackage Libraries
* @author Phil Sturgeon
* @category Loader
* @link http://codeigniter.com/user_guide/libraries/loader.html
*/
class MY_Loader extends CI_Loader {
function image($file_path, $mime_type_or_return = 'image/png')
{
$this->helper('file');
$image_content = read_file($file_path);
// Image was not found
if($image_content === FALSE)
{
show_error('Image "'.$file_path.'" could not be found.');
return FALSE;
}
// Return the image or output it?
if($mime_type_or_return === TRUE)
{
return $image_content;
}
header('Content-Length: '.strlen($image_content)); // sends filesize header
header('Content-Type: '.$mime_type_or_return); // send mime-type header
header('Content-Disposition: inline; filename="'.basename($file_path).'";'); // sends filename header
exit($image_content); // reads and outputs the file onto the output buffer
}
Ci sono alcuni modi è possibile utilizzare questo:
uscita di base (di default è JPEG)
$this->load->image('/path/to/images/gorilla.png');
Invia mime-type per utilizzare altri tipi di immagini
$this->load->image('/path/to/images/gorilla.jpg', 'image/jpeg');
riportare l'immagine
$image = $this->load->image('/path/to/images/gorilla.php', TRUE);
Proprio come $ this-> load-> vista, il 3 ° parametro che viene impostato su TRUE significa che tornerà invece di mandare in output.
Spero che questo aiuti :-)
fonte
2009-12-16 10:30:25
Funziona perfettamente, grazie! – Ethan
Sto lavorando alla versione corrente di Codeigniter. questo codice non funziona per me –
Immagino che il comando 'exit' non abbia scopo, dal momento che' die' termina lo script e fanno lo stesso lavoro comunque. Grazie per il codice, a proposito. –