Comunidad de diseño web y desarrollo en internet online

Un poquito de PHP eliminar archivo jpg

Citar            
MensajeEscrito el 23 Ago 2006 11:46 am
Saludos a todos los amigos de Cristalab.
Hoy tengo una duda de php, resulta que puedo subir archivos .jpg desde php a una carpeta de mi servidor, pero no logro crear el codigo para poder eliminar ese archivo también desde php.
Si alguien puede ayudarme se lo agradecería de corazón :)

Saludos a todos, buen verano!!

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 23 Ago 2006 12:36 pm
Hola

Para borrar ficheros con php existe la función unlink()

http://es2.php.net/manual/es/function.unlink.php

o quizá te sirva ftp_delete()

http://es2.php.net/manual/es/function.ftp-delete.php

Por otro lado si pones el código que intentaste usar quizá alguién te pueda decir cuál es el problema ¬¬

Saludos y suerte :D

Por Yranac

421 de clabLevel



Genero:Masculino  

Lugo, Galicia

firefox
Citar            
MensajeEscrito el 23 Ago 2006 07:46 pm
Muchísimas gracias Yranac, lo he solucionado con unlink("../fotografias/$foto");
Pero ahora me ha surgido otra duda, los archivos son .jpg y no consigo cambiar un archivo por otro, sin que se modifique el nombre del archivo, ya que coincide con el nombre del producto registrado.
Este es el codigo completo del formulario "EDITAR" desde aqui se pueden modificar todos los datos y visualizar la fotografía, pero no logro sustituir la fotografía visualizada por otra.

Código :

<?
include("../includes/config.php");
include("../includes/funciones.php");


if(isset($_POST['submit'])){

        //borramos el registro.
        //nos conectamos a la bd.
        $cnx = conectar ();
        //consulta sql.
      $res = mysql_query("SELECT foto FROM forja WHERE id = ".$_GET['id']) or die("&output=error&msg=".mysql_error());
      if( mysql_num_rows($res) > 0 ){
      //si hay datos.
      list($foto) = mysql_fetch_array($res);
      //cambiamos los \n por <br> para html
      unlink("../fotografias/$foto");
   }else{
      //no hay datos.
      echo "error al buscar el registro.";
      
      exit;

   }
        $sql = "DELETE FROM forja WHERE id=".$_POST['id'];
        $res = mysql_query($sql) or die (mysql_error());


      //actualizamos el xml el catalogo.
        actualizarXmlcatalogo();
        //cerramos la conexión.
        mysql_close($cnx);
      
        //mensaje de exito.
        $titulo = "Registro Eliminado";
        $mensaje = "El registro ha sido Eliminado";
        include("mensajes.php");
        exit;
}

if(empty($_GET['id'])){
        header("Location: index.php");
}
?>

<html>
<head>
<title>Eliminar producto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<form action="<? echo $SERVER['PHP_SELF']?>" method="post" name="form1">
  <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr> 
      <td height="30" class="cabeceraBold"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
        Eliminar Registro</font></td>
    </tr>
    <tr> 
      <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
    </tr>
    <tr> 
      <td> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="id" type="hidden" id="id" value="<? echo $_GET['id'];?>">
        </font></td>
    </tr>
    <tr> 
      <td> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input type="hidden" name="id" value="<? echo $id;?>">
        ¿Eliminar registro : <? echo $_GET['producto'];?> ?<br>
        </font></td>
    </tr>
    <tr> 
      <td align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="submit" type="submit" id="submit" value="Enviar">
        </font></td>
    </tr>
    <tr> 
      <td height="30" class="pie"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="index.php">regresar</a></font></td>
    </tr>
  </table>
</form>
</body>
</html>


Muchas gracias por su tiempo! espero que os sirva el code.

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 04 Sep 2007 01:31 pm
PHP no te deja reemplazar los archivos, o al menos no conozco ni he encontrado la manera de como hacerlo, si el archivo existe te tira un error y sigue el que esta, lo que podes hacer es usar la función file_exists('rutaarchivo') en un if, si existe lo borras con unlink y lo volves a copiar.

O sea te quedaría algo así:


// $ruta_img es la ruta de tu imagen actual, $ruta_img2 es la ruta nueva. Hago un ejemplo genérico:

if (file_exists($ruta_img){ //si existe el archivo
unlink($ruta_img); //borro la imagen
copy($ruta_img2); //copias la imagen nueva
} else { copy($ruta_img); //sino existe copio la imagen directamente.
}


Bueno ahí tendrías el código que te solucionaría el problema, vos seguis viendo la misma imagen porque el sistema no la reemplaza, tampoco leí tu código todavía porque estoy en el trabajo y no tengo tiempo de mirar mucho, así que te dejo esta respuesta rapidita, espero que te sirva.[/quote]

Por Pepe Botellas

1 de clabLevel



Genero:Masculino  

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.