I have the following script:
rutina.php
<html>
<head>
<title>TITULO DEL DOCUMENTO</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../style.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<style type="text/css">
<!--
.activo {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 24px;
font-weight: bold;
color: #000000;
background-color: #CCCCCC;
}
-->
</style>
</head>
<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>
<br><center><h1>Mantenimiento de fotos</h1></center><br>
<table height="100%" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top">
<table border="0" cellpadding="0" cellspacing="0">
<tr><td>
<?
include "config.php";
?>
</td></tr>
<tr><td>
<?
// Especificamos esta linea donde defino
// el PATH DE DESTINO, de acuerdo a cada sistema.
// para unix = /var/www/html/uploads/
// para windows = c:\\inetpub\\wwwroot\\uploads\\
// La carpeta de destino debe tener permisos 757 en Unix
// Y de lectura y escritura en Windows
if ($act) {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
$filename = $_FILES['userfile']['tmp_name'];
$realname = $_FILES['userfile']['name'];
copy($_FILES['userfile']['tmp_name'],"imagenes/".$realname);
} else {
echo "<p>Posible ataque mediante upload ".$_FILES['userfile']['name'].".";
}
// [SQL] sumar string actual del campo 'fotos' con la referencia al archivo nuevo
$ssql='SELECT * FROM publicaciones WHERE codigo=' . $_POST['propiedad'];
$rss=mysql_query($ssql);
$rs=mysql_fetch_array($rss);
if($rs["fotos"] != "")
$realname = $rs["fotos"] . ";" . $realname;
//Creamos la sentencia SQL y la ejecutamos
$ssql="Update publicaciones Set fotos='$realname' Where codigo='$propiedad'";
//mysql_db_query("ejemplo",$ssql);
mysql_query($ssql);
}
?>
<form name="subir" ENCTYPE="multipart/form-data" method="POST" action="<? echo $PHP_SELF; ?>?act=upload&cod=<? echo $_GET["cod"]; ?>">
<?
//Muestro datos de la propiedad activa
if (isset($_GET["cod"])) {
$ssql = 'SELECT codigo, direccion, barrio FROM publicaciones WHERE codigo=' . $_GET["cod"];
$rss = mysql_query($ssql);
$rs = mysql_fetch_array($rss);
echo '<div class="activo">' . $rs["direccion"] . ' - ' . $rs["barrio"] . ' / cod: ' . $_GET["cod"] . '</div>';
}
//seleccion de todos los archivos de la tabla 'personas' con el campo 'id'= <variable de URL (.php?id=1)>
$ssql = "SELECT * FROM `publicaciones`";
//ejecutar sql y almacenar la referencia (puntero?) en la variable $rss
$rss = mysql_query($ssql);
echo "<b>CODIGO - DIRECCION</b><br>";
echo '<select name="menupropiedad" onChange="MM_jumpMenu(\'parent\',this,0)">';
//Generamos el menu desplegable
echo '<option value="#" selected>--Seleccione Propiedad--';
while ($rs=mysql_fetch_array($rss)) {
echo '<option value="' . $PHP_SELF . '?cod=' . $rs["codigo"] . '">' . $rs["codigo"] . " / " . $rs["barrio"] . ' - ' . $rs["direccion"];
}
echo "</select>";
//si ya se eligio propiedad, mostrar opciones de mantenimiento de archivos
if(isset($_GET["cod"])) {
?><br><br>
<strong>ARCHIVO DE IMAGEN:</strong> <br>
<input type="FILE" name="userfile" size="35">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
<input type="hidden" name="propiedad" value="<? echo $_GET["cod"]; ?>">
<input type="submit" value="Subir" name="B1">
<p>Pulsar sólo una vez y esperar la confirmación</p>
<p><a href="<?php print("$PHP_SELF"); ?>">Reiniciar el formulario</a></p>
</form>
<form name="borrar" method="POST" action="<? echo $PHP_SELF; ?>?cod=<? echo $_GET["cod"]; ?>">
<?php
//sql para buscar depto y mostrar fotos en el server
$ssql = 'SELECT * FROM publicaciones WHERE codigo = ' . $_GET["cod"];
//ejecutar sql y almacenar la referencia (puntero?) en la variable $rss
$rss = mysql_query($ssql);
$rs = mysql_fetch_object($rss);
// antes demostrar las fotos, borrar archivos seleccionados
if(isset($_POST["nombrefoto"])) {
$archivo = $_POST["nombrefoto"];
if(file_exists($archivo))
unlink($archivo);
$cadena = $rs->fotos;
$cadena = explode(";", $cadena);
$referencias="";
$i=0;
foreach($cadena as $nombre) $i++;
$j=0;
foreach($cadena as $nombre) {
$j++;
if($nombre!=$archivo)
$referencias .= $nombre;
if($j < ($i-1)) $referencias .= ';';
}
//Creamos la sentencia SQL y la ejecutamos
$ssql="UPDATE `publicaciones` SET `fotos`='" . $referencias . "' WHERE codigo='" . $_GET["cod"] . "'";
//mysql_db_query("ejemplo",$ssql);
mysql_query($ssql);
}
?>
<br>
<table width="80%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td align="center">
<?
//sql para buscar depto y mostrar fotos en el server
$ssql = 'SELECT * FROM publicaciones WHERE codigo = ' . $_GET["cod"];
//ejecutar sql y almacenar la referencia (puntero?) en la variable $rss
$rss = mysql_query($ssql);
$rs = mysql_fetch_object($rss);
if($rs->fotos!="") {
//mostrar fotos
// echo "<img src=\"fotos/" . $nombre . "\">";
$cadena = $rs->fotos;
$cadena = explode(";", $cadena);
// variables para hacer el salto de linea en las fotos y no pasarme del ancho del marco
$xtotal = 0;
$xmarco = 600;
foreach($cadena as $nombre) {
//tomo las dimensiones de la imagen para darle el tamaño correcto al popup
$fuente = @imagecreatefromjpeg($nombre);
$imgAncho = imageSX($fuente);
$xtotal += intval($imgAncho / 4); // acumulo el ancho del thumbnail de cada imagen
$imgAlto =imageSY($fuente);
if ($xtotal > $xmarco) {
echo "</td></tr><tr><td align=\"center\">";
$xtotal = 0;
}
//muestro la imagen con thumb.php
?><img src="../thumb.php?ruta=fotos/<? echo $nombre; ?>" border="0">
<br><? echo $nombre; ?>
<input type="radio" name="nombrefoto" value="<? echo $nombre; ?>"></td><td align="center">
<?
}
?>
</td></tr></table>
<center><input type="submit" value="Eliminar archivo seleccionado"></center>
</form><?php
}
else echo '<h2><b>NO HAY FOTOS DISPONIBLES</b></h2>';
}
?>
</td>
</tr>
</table>
</body>
<?
// limpio y cierro variables de conexion
if(isset($_GET["cod"]) || isset($_GET["act"])) mysql_free_result($rss);
mysql_close($db);
?>
</html>
and
thumb.php
<?php
//Una Creacion De Jorge Luis Martinez M
//http://misCodigos.jlmnetwork.com/
/*Este Archivo Recibe Los Parametros $ruta, Que Es La Ruta Interna De La Imagen En El Servidor, Y Los Parametros $ancho y $alto Que Se Refiere Al Alto Y Ancho De La Previsualizacion*/
$fuente = @imagecreatefromjpeg($ruta);
$imgAncho = imagesx ($fuente);
$imgAlto =imagesy($fuente);
$ancho = intval($imgAncho / 4);
$alto = intval($imgAlto / 4);
$imagen = imagecreatetruecolor($ancho,$alto);
ImageCopyResized($imagen,$fuente,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto);
Header("Content-type: image/jpeg");
imageJpeg($imagen);
?>
But I get this error:
Warning: imagesx(): supplied argument is not a valid Image resource in /home/pf000189/public_html/bahouse/rutina.php on line 173
And this one:
Warning: imagesy(): supplied argument is not a valid Image resource in /home/pf000189/public_html/bahouse/rutina.php on line 175
Can someone tell me what's going on? plis.
Thanks a lot.