estoy creando un sitio web en codeigniter y uno de sus controladores se dedica a crear imagenes de un tamaño dado.
En mi servidor local funciona todo correctamente y las imágenes se ven redimensionadas pero al subirlo al servidor remoto todas las imagenes se muestran de color negro.
Demomento solo he probando con imágenes JPG.
Aquí les paso el código del controlador:
Código PHP:
<?php
class imager extends Controller {
public $path;
function imager() {
parent::Controller();
//Start properties
$this->path = base_url().'img/CASAS/';
}
function showthumb($name, $width = 100, $height = 100)
{
$imagen = $this->_createImage($this->path, $name);
$destino = $this->_escalar($imagen, $width, $height);
$this->_displayImage($destino, $this->path.$name);
imagedestroy($imagen);
iamgedestroy($destino);
}
function _displayImage($img, $name)
{
header('Content-type: image/jpeg');
if (preg_match('/.jpg|.jpeg|.JPG/', $name)) {
imagejpeg($img);
}else if (preg_match('/.png|.PNG/', $name)) {
imagepng($img);
}else if (preg_match('/.gif|.GIF/', $name)) {
imagegif($img);
}
}
function _createImage($path, $name)
{
if (preg_match('/.jpg|.jpeg|.JPG/', $name)) {
$imagen = imagecreatefromjpeg($path.$name);
}else if (preg_match('/.png|.PNG/', $name)) {
$imagen = imagecreatefrompng($path.$name);
}else if (preg_match('/.gif|.GIF/', $name)) {
$imagen = imagecreatefromgif($path.$name);
}else
return false;
return $imagen;
}
function _escalar($img, $width, $height)
{
$x = imageSX($img);
$y = imageSY($img);
$dest = imagecreatetruecolor($width, $height);
imagecopyresized($dest, $img, 0, 0, 0, 0, $width, $height, $x, $y);
return $dest;
}
}
Localhost :
gd
GD Support enabled
GD Version 2.0
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.4
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 6b
PNG Support enabled
libPNG Version 1.2.44
WBMP Support enabled
Servidor remoto
gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.2.1
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
Muchas gracias por la ayuda, que seria muy de agradecer ya que no consigo dar con la solución.
SOLUCIÓN
El problema residia en la manera de buscar las imágenes.
Cita:
base_rul() es un parámetro de configuración de Codeigniter que devuelve la URL Ej: http://www-midominio.com/$this->path = base_url().'img/CASAS/';
Al substituir esa linea por
Cita:
todo funcionó! $this->path = $_SERVER['DOCUMENT_ROOT'].'/img/CASAS/';