nada. no hay forma. mira yo hago así:
Si el campo 'imagen' está vacío le digo que no me grabe nada:
Código PHP:
$id=$_GET['id'];
if($_post['imagen']=="")
{
if($_FILES['imagen']['name'])
{
$local = $_FILES['imagen']['name'];
$remoto = $_FILES['imagen']['tmp_name'];
$extension = explode(".", $local);
$n = count($extension)-1;
$miext = array('jpg', 'gif', 'png', 'tiff', 'jpeg');
if(in_array($extension[$n], $miext))
{
// La variable para la BD
$ruta = "../articulos/" . $local;
chmod("$ruta", 0777);
if(is_uploaded_file($remoto))
{
if(!move_uploaded_file($remoto, $ruta))
{
$error=true;
}
}
else
{
$error=true;
}
}
else
{
$error=true;
}
}
if(!$error)
{
$titular=$_POST[titular];
$descripcion=$_POST['descripcion'];
$imagen=$_POST['imagen'];
if($sql = mysql_query("SELECT idnoticias FROM noticias WHERE idnoticias = $id")) {
$num = mysql_num_rows($sql);
if($num > 0) {
mysql_query("UPDATE noticias SET titular='$titular',descripcion='$descripcionWHERE idnoticia='$id'",$link) or die(mysql_error());
header("Location: ../admin/extocont.php");
}
else
{
header("Location: ../admin/errorcont.php");
}
}
else {
echo 'Error en la consulta: '.mysql_error();
}
luego hago un else si es que el campo 'imagen' tiene contenido, es decir, si quiero modificar la imagen con otra nueva imagen:
Código PHP:
else
{
if($_FILES['imagen']['name'])
{
$local = $_FILES['imagen']['name'];
$remoto = $_FILES['imagen']['tmp_name'];
$extension = explode(".", $local);
$n = count($extension)-1;
$miext = array('jpg', 'gif', 'png', 'tiff', 'jpeg');
if(in_array($extension[$n], $miext))
{
// La variable para la BD
$ruta = "../articulos/" . $local;
chmod("$ruta", 0777);
if(is_uploaded_file($remoto))
{
if(!move_uploaded_file($remoto, $ruta))
{
$error=true;
}
}
else
{
$error=true;
}
}
else
{
$error=true;
}
}
if(!$error)
{
$titular=$_POST[titular];
$descripcion=$_POST['descripcion'];
$imagen=$_POST['imagen'];
if($sql = mysql_query("SELECT idnoticias FROM noticias WHERE idnoticias = $id")) {
$num = mysql_num_rows($sql);
if($num > 0) {
mysql_query("UPDATE noticias SET imagen='$ruta',titular='$titular',descripcion='$descripcionWHERE idnoticia='$id'",$link) or die(mysql_error());
header("Location: ../admin/extocont.php");
}
else
{
header("Location: ../admin/errorcont.php");
}
}
else {
echo 'Error en la consulta: '.mysql_error();
}
Pues nada. cuando no meto nada en la imagen, me actua correctamente. No actualiza la imagen, sigue con la que está, pero si la actualizo, meto otra imagen, no me hace nada. Sigue apareciendo la que está. El resto de campos los actualiza bien. qué sucede?