tengo un script para crear miniaturas, lo utilizo en un ordenador local y guardo en diferentes carpetas las miniaturas creadas.
El problema viene que desde hace un mes cambié de ordenador y desde entonces las imagenes de mas de 1 mb o que pasen de 1800px aprox no me genera nada.
utilizo appserv y he actualizado la versión.
no se si será alguna configuración interna de apache para que lo permita, ya que estoy en local no tengo las restricciones de un servidor.
este es el codigo que tengo dividido en 3 archivos:
miniaturas.php
Código PHP:
<html><head>
<title>Creando miniaturas</title>
<SCRIPT language=JavaScript1.2 src="../java/codigo.js"
type=text/javascript></SCRIPT>
</head>
<body link="#000000" vlink="#000000" alink="#000000" topmargin="0">
<FORM name=ver method=post>
<?php
$exp=$_GET['exp'];
$dir=$_GET['dir'];
echo "exp: $exp";
//***********************************************************
// CREACION DE MINIATURAS
//***********************************************************
$archivos=array();
$archivos2=array();
$dir="../fotos/$dir";
$directorio=opendir($dir);
while ($archivo = readdir($directorio)) {
// Incluyo chequeo para no almacenar las entradas de directorios ni directorios (is_dir())
if ($archivo==".") { echo " "; } else if ($archivo=="..") { echo " "; } else {
// acomulas los nombres de archivos en un array.
$archivos[]=$archivo;
//echo $archivo;
}}
closedir;
// Ordenas tu array:
sort($archivos);
// (y mueves el puntero interno del array al principio ..)
reset($archivos);
$i=1;
foreach ($archivos as $archivo){
$dir2="$dir/";
$archivo2re = str_replace("º", " ", $archivo);
$archivo2re = str_replace("ª", " ", $archivo2re);
$archivo2re = str_replace("Á", "a", $archivo2re);
$archivo2re = str_replace("á", "a", $archivo2re);
$archivo2re = str_replace("É", "e", $archivo2re);
$archivo2re = str_replace("é", "e", $archivo2re);
$archivo2re = str_replace("Í", "i", $archivo2re);
$archivo2re = str_replace("í", "i", $archivo2re);
$archivo2re = str_replace("Ó", "o", $archivo2re);
$archivo2re = str_replace("ó", "o", $archivo2re);
$archivo2re = str_replace("ú", "u", $archivo2re);
$archivo2re = str_replace("Ú", "u", $archivo2re);
if(is_file("$dir2/$archivo2re"))
{
//**************************************
if (!file_exists("$dir2/1024/$archivo2re"))
echo "<img src='intermedio.php?directorio=$dir2&imagen=$archivo2re&tamano=1024' width=0 height=0>";
if (!file_exists("$dir2/800/$archivo2re"))
echo "<img src='intermedio.php?directorio=$dir2&imagen=$archivo2re&tamano=800' width=0 height=0>";
if (!file_exists("$dir2/500/$archivo2re"))
echo "<img src='intermedio.php?directorio=$dir2&imagen=$archivo2re&tamano=500' width=0 height=0>";
if (!file_exists("$dir2/210/$archivo2re"))
echo "<img src='intermedio.php?directorio=$dir2&imagen=$archivo2re&tamano=210' width=0 height=0>";
if (!file_exists("$dir2/120/$archivo2re"))
echo "<img src='intermedio.php?directorio=$dir2&imagen=$archivo2re&tamano=120' width=0 height=0>";
//**************************************
}
} // fin foreach
reset($archivos2);
while(current($archivos2)!='')
array_shift($archivos2);
//***********************************************************
// FIN CREACION DE MINIATURAS
//***********************************************************
?>
</FORM>
<meta http-equiv="Content-Type" content="text/html; charset=">
</body>
</html>
Código PHP:
<?
include("cls.CropImage.php");
$dir2=$_GET['directorio'];
$archivo2re=$_GET['imagen'];
$tamano=$_GET['tamano'];
$path=$dir2;
$image=$archivo2re;
$file=$image;//nombre tomado de $_FILES
$file_orig=$image;//nombre tomado de $_FILES
$tamanyo=getimagesize($path.$file);
//en este caso tengo un ancho fijo para lo cual hago proporcional la altura
//pero se pueden poner los valores que quieran
$ancho=$tamano;
$alto=($tamanyo[1]*$ancho)/$tamanyo[0];
//como verán en la próxima línea tengo tres directorios diferentes
//eso es porque necesitaba crear tres tipos de fotos mas la original
//una es tamaño medio, la otra tamaño medio pero con marca de agua
//y la última de tamaño pequeño (thumbnail)
$pathguarda="$path/$ancho/";
if (!file_exists($pathguarda))
mkdir($pathguarda, 0777);
$new_image= new CropImage($path,$file, $file, $file, $pathguarda, $ancho."px", $alto."px",$file,"foto/thumb/","");
//esto me guarda la imágenes media
$new_image->outPutImage();
//esto me crea los thumbnails
$new_image->thumbnail();
//}
return ($pathguarda/$file);
?>
Código PHP:
<?
include("cls.CropImage.php");
$dir2=$_GET['directorio'];
$archivo2re=$_GET['imagen'];
$tamano=$_GET['tamano'];
$path=$dir2;
$image=$archivo2re;
$file=$image;//nombre tomado de $_FILES
$file_orig=$image;//nombre tomado de $_FILES
$tamanyo=getimagesize($path.$file);
//en este caso tengo un ancho fijo para lo cual hago proporcional la altura
//pero se pueden poner los valores que quieran
$ancho=$tamano;
$alto=($tamanyo[1]*$ancho)/$tamanyo[0];
//como verán en la próxima línea tengo tres directorios diferentes
//eso es porque necesitaba crear tres tipos de fotos mas la original
//una es tamaño medio, la otra tamaño medio pero con marca de agua
//y la última de tamaño pequeño (thumbnail)
$pathguarda="$path/$ancho/";
if (!file_exists($pathguarda))
mkdir($pathguarda, 0777);
$new_image= new CropImage($path,$file, $file, $file, $pathguarda, $ancho."px", $alto."px",$file,"foto/thumb/","");
//esto me guarda la imágenes media
$new_image->outPutImage();
//esto me crea los thumbnails
$new_image->thumbnail();
//}
return ($pathguarda/$file);
?>