Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/11/2008, 21:15
Makoto
 
Fecha de Ingreso: octubre-2008
Ubicación: Temuco
Mensajes: 24
Antigüedad: 15 años, 7 meses
Puntos: 0
Sonrisa Respuesta: Trabajar con imagenes en PHP

Mm, es que el problema que tengo es al momento de editar una imagen

Este es el código completo.

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="style.css" rel="stylesheet" type="text/css"/>
<title>Modificar imagen de artículos</title>
</head>
<body>
<?
// Conexión la bd
include 'Conexion.PHP';
$link=conexion();

// Ruta donde van a quedar las imágenes dentro del cPanel
if($_POST['Editar'])
{
// Obtenemos los datos después del POST
$Ruta "http://www.forosdelweb.com/images/articulos";
$Id $_POST['Id'];

// Creamos una cadena aletoria
$Str "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
$Cadena "";
for(
$i=0;$i<12;$i++) {
$Cadena substr($Str,rand(0,62),1);
}

// Leemos el tamaño del archivo
$Tamano $_FILES['file']['size'];

// Asignamos un tamaño máximo
$Tamanomaximo="1000000"//1megabytes

// Comprobamos el tamaño permitido
if( $Tamano $Tamanomaximo
// if tamaño maximo
// Carpeta donde quedarán las fotografías
$Destino $Ruta;

// Separamos la imágen
$Seperar=explode('image/',$_FILES["file"]["type"]);

// Obtenemos de que tipo es.
$Extension=$Separar[1];

// Si el tipo de imágen es uno de los permitidos, vamos! si no pa fuera!.
// Aquí definimos los tipos de imágenes
if ($Extension == "GIF" || 
    
$Extension == "JPG" || 
    
$Extension == "PNG" ||  
    
$Extension == "gif" || 
    
$Extension == "jpg" || 
    
$Extension == "png" || 
    
$Extension == "JPEG" ||
    
$Extension == "jpeg")
// if extensión
// Subimos el archivo 
move_uploaded_file($_FILES['file']['tmp_name'], $Destino.'/'.$Cadena.'.'.$Extension);

// Obtenemos la ruta de la fotografía para agregarla a la base de datos
$Nombreimg $Cadena.'.'.$Extension;
$Rutaimg $Destino.'/'.$Cadena.'.'.$Extension;

// Guardar imágen en la base de datos
$Instr="UPDATE articulos Nombre_Imagen='$Nombreimg', Ruta_Imagen='$Rutaimg' WHERE Id='$Id'";

// Ejecutar la consulta
$Query=mysql_query($Instr$link) or die(mysql_error());

// Cerrar la conexión con la base de datos
mysql_close($link);

// Más bla bla bla y éxito
print ("<div align=\"center\">Imagen editada, volver al formulario <a href='Editarart.PHP?id=".$Id."'>aquí</a>.</div>");
// Fin if extensión
else
// Si no es el tipo permitido mostramos un mensaje
print ("<div align=\"center\">La extensión del archivo no es de los permitidos, sólo puede subir imágenes 'JPEG, JPG, GIF y PNG', para intentarlo otra vez haga clic <a href='Editarimagen.PHP?id=".$Id."'>aquí</a>.</div>");
// Fin if tamaño
else 
// Si supera el tamaño de permitido, mostramos un mensaje
print ("<div align=\"center\">El peso de la fotografía supera el tamaño máximo permitido, el tamaño máximo es de <b>1MB</b>, para intentarlo otra vez haga clic <a href='Editarimagen.PHP?id=".$Id."'>aquí</a>.</div>");
// Fin $_GET
else
{
// Si el formulario no es enviado entonces
if ($_GET['id'])
{
$Id $_GET['id'];
// Instrucción
$Sql "SELECT * FROM articulos WHERE Id = '$Id'";
$Query mysql_query ($Sql$link) or die ("Fallo en la consulta, razón: "."<strong>"mysql_error() ."</strong>");

// Recorriendo la tabla artculos
$nfilas mysql_num_rows ($Query);
if (
$nfilas 0)
// if
for ($i=0$i<$nfilas$i++)
// for
$fila mysql_fetch_array($Query);

print(
"<form action=\"Editarimagen.PHP\" method=\"POST\" enctype=\"multipart/form-data\" name=\"form1\">");
print(
"<p><div align=\"center\">Modificar imagen de art&iacute;culos</div></p>");
print(
"<p><div align=\"center\">
       <input type=\"hidden\" name=\"Id\" value=\""
.$fila['Id']."\"><em>hidden</em>
       <input type=\"file\" name=\"file\" class=\"button\">
       <input type=\"submit\" name=\"Editar\" class=\"button\" value=\"Editar imagen\">
       </div></p>"
);
print(
"<p><div align=\"center\">Formulario: <a href='Editarart.PHP?id=".$fila['Id']."'>".$fila['Nombre']."</a></div></p>");
print(
"</form>");
// Fin for
// Fin if
// Fin if $_GET
// Fin else
?>
</body>
</html>
Lo más fome que aunque suba un archivo JPG, PNG, GIF, igual me dice que la extensión del archivo es de las bloqueadas, por eso quise buscar otra alternativa.

Gracias de nuevo.