Foros del Web » Programando para Internet » PHP »

Problema con la libreria GD en php 4

Estas en el tema de Problema con la libreria GD en php 4 en el foro de PHP en Foros del Web. Hola a todos, tengo el siguiente problema: hice un sitio web para una empresa y todo funcionaba perfectamente en el servidor con el que trabajo, ...
  #1 (permalink)  
Antiguo 20/08/2008, 10:45
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Problema con la libreria GD en php 4

Hola a todos, tengo el siguiente problema: hice un sitio web para una empresa y todo funcionaba perfectamente en el servidor con el que trabajo, pero cuando ellos lo subieron a su servidor hay una parte donde se sube fotos y se las redimensiona que no funciona.

Creo que es por la version del php, yo trabajo con php 5.1.6 y el servidor que ellos tienen esta con php 4.3.9

mi codigo es este, espero que puedan ayudarme, Gracias.

function thumbjpeg($imagen,$altura, $extension,$nom) {
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
$dir_thumb = "../imagenes/";
// Aquí tendremos el nombre de la imagen.
$nombre=basename($imagen);
// Aquí la ruta especificada para buscar la imagen.
$camino=dirname($imagen)."/";
$nombre_thumb =$nom;
// Intentamos crear el directorio de thumbnails, si no existiera previamente.
if (!file_exists($dir_thumb))
@mkdir ($dir_thumb, 0777) or die("No se ha podido crear el directorio ".$dir_thumb);

// Aquí comprovamos que la imagen que queremos crear no exista previamente
if (!file_exists($dir_thumb.$nombre_thumb)) {
//echo "Se subio el/los archivos correctamente<br>\n";
if($extension==".jpg")
$img = @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen1 $camino$nombre<br>\n");
if($extension==".gif")
$img = @imagecreatefromgif($camino.$nombre) or die("No se encuentra la imagen2 $camino$nombre<br>\n");
if($extension==".png")
$img = @imagecreatefrompng($camino.$nombre) or die("No se encuentra la imagen3 $camino$nombre<br>\n");
// miramos el tamaño de la imagen original...
$datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");

// intentamos escalar la imagen original a la medida que nos interesa
$ratio = ($datos[1] / $altura);
$anchura = round($datos[0] / $ratio);

// esta será la nueva imagen reescalada
$thumb = imagecreatetruecolor($anchura,$altura);

// con esta función la reescalamos
imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);

// voilà la salvamos con el nombre y en el lugar que nos interesa.
if($extension==".jpg")
imagejpeg($thumb,$dir_thumb.$nombre_thumb);
if($extension==".gif")
imagegif($thumb,$dir_thumb.$nombre_thumb);
if($extension==".png")
imagepng($thumb,$dir_thumb.$nombre_thumb);

}
}
$ext1= substr($imagen_name,-4);
$nom=$imagen_name;
if($imagen_name!="")
thumbjpeg("$imagen",700,$ext1,$nom);
  #2 (permalink)  
Antiguo 20/08/2008, 11:00
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
Respuesta: Problema con la libreria GD en php 4

uf, que de código...
pero mira, sube esto en un archivo al servidor
Código:
<?php
/**
* Standalone page test
* Standalone page test
* Licenced under GPLv2 read GPL.txt for details
* @version 1
* @copyright ? 2007 ResPlace Team
* @lastedit 06-06-07
*/
//Set path then include the system into the page.
$path="../";
include_once $path.'WebMS.php';

//Setup the WebMS class
$page=new WebMS($path,"Main Site");
//add some meta keywords
$page->addMeta(array('name' => 'keywords','content' => 'register,free'));
//add defaults
$page->addDefaults();

//begin adding modules...
$page->add("Menu");
$page->add("PageRate");

function someContent($mod){
	?>
	Registering to our website enables you to access more content, get the latest information and interact with other website users. So register today!<br><br>
	
	
	    <b>Varification:</b><br>
        <div class="smalltext">Please look at the picture, then look at the text in the red box, do you see all those letters in the image, are they clear enough to read?. <br>
          <br>
        </div>
		<br><br>
		<?php
		$b=new GDLib(110,40);
		$b->CreateStyle('Big','Eunjin',70,'#0000BB','#85BF7D');
		//random font generation
		$fnts=array("Eunjin","Bangwool","Tuffy","UnPen","Bandal","FreeMonoBold","punk kid");
		$b->Captcha($fnts);
		$file=$b->out(true);
		?>
		<img src='<?=$file; ?>' border='0' alt='test' title='test' />
		<br><br>
		<div style="width:200px; background-color:#FF0000; color:#000000"><b>
		<?php
		echo $_SESSION['captcha_string'];
		?>
		</b></div>

	<?php
}

$page->add("SkinChanger",Module::RIGHT);
//$page->add("Box");
$page->addF("someContent","Register to this website");

$page->create();
?>
y accede a él, ahí pone si estan habilitadas las librerias gd, si no están habilitadas, con que le digan al soporte del servidor que se las active lo harán sin problema

Suerte ;)
  #3 (permalink)  
Antiguo 21/08/2008, 07:57
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Problema con la libreria GD en php 4

Hola Manzarinaa, Gracias por la respuesta, me contacte con el servidor y me mando toda la informacion que te devuelve el phpinfo() donde se muestra que estan habilitadas las librerias gd, pero sigue sin guardar las imagenes.

No se si hay alguna funcion incompatible en mi codigo, porque en mi servidor funciona perfectamente. si alguien tiene otra forma de subir y redimensionar imagenes le agradeceria mucho.
  #4 (permalink)  
Antiguo 21/08/2008, 08:13
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Problema con la libreria GD en php 4

Que tal quike88, en concreto te manda algún mensaje de error?, te recomiendo que mires estos dos link que hacen parte de los aportes del foro, creo que te pueden servir.

1. http://www.forosdelweb.com/f18/aport...on-php-568511/
2. http://www.forosdelweb.com/f18/aport...agenes-565428/.



Saludos.
  #5 (permalink)  
Antiguo 21/08/2008, 10:40
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Problema con la libreria GD en php 4

Hola Carlojas, gracias por tu respuesta. El codigo no me manda ningun error, simplemente el rato de ver en la carpeta donde se deberia haber guardado la foto no se subio nada.

Voy a intentar de otra forma viendo los links y les aviso q tal me va.
  #6 (permalink)  
Antiguo 21/08/2008, 12:03
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
Respuesta: Problema con la libreria GD en php 4

Hola
mira a ver si te puede ayudar este codigo en algo
lo he usado en servidor php5 y funciona, tammbien con las gd

Código:
 if ($image_size = @getimagesize($src)) {

            $ratio = $image_size[1] / $image_size[0];

            // Set the width and height to the proper ratio
            if (!$width && $height) {
                $ratio = $height / $image_size[1];
                $width = intval($image_size[0] * $ratio);
            } elseif ($width && !$height) {
                $ratio = $width / $image_size[0];
                $height = intval($image_size[1] * $ratio);
            } elseif (!$width && !$height) {
                $width = $image_size[0];
                $height = $image_size[1];
            }

            // Scale the image if not the original size
            if ($image_size[0] != $width || $image_size[1] != $height) {
                $rx = $image_size[0] / $width;
                $ry = $image_size[1] / $height;

                if ($rx < $ry) {
                    $width = intval($height / $ratio);
                } else {
                    $height = intval($width * $ratio);
                }

                $image = '<img src="product_thumb.php?img=' . $src . '&w=' .
                tep_output_string($width) . '&h=' . tep_output_string($height) . '"';
            }
es una contribución de oscomerce, a mi me funciona bien, si te quieres mirar el código completo busca en la pagina de oscommerce otf autothumb v2.4fix3
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:54.