PHP - borrar archivos

   
Vista:

borrar archivos

Publicado por zendi (9 intervenciones) el 10/01/2012 21:27:54
estoy creando una funcion para borrar un archivo y estoy utilizando la siguiente linea de codigo:

<?php
$fh = fopen("c:\wamp\www\tesis2\1.html", "w");
@unlink("1.html");
?>
pero arroja el siguiente Warning:
Warning: fopen(c:\wamp\www esis.html) [function.fopen]: failed to open stream: Invalid argument in C:\wamp\www\tesis2\prueba.php on line 10

¿acaso habrá una comilla mal puesta?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

borrar archivos

Publicado por xve (5515 intervenciones) el 10/01/2012 22:39:38
Hola Zendi, en Windows, tienes que escapar la contrabarra....
1
$fh = fopen("c:\\wamp\\www\\tesis2\\1.html", "w");

De todas maneras, no es necesario abrir el archivo para eliminarlo, únicamente utilizando unlink() es suficiente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

borrar archivos

Publicado por zendi (9 intervenciones) el 10/01/2012 23:18:39
Hola xve. efectivamente removi el fopen y lo dejé asi:
<?php
unlink("1.html");
?>
ya que el archivo se encuentra en la misma ruta o directorio desde donde lo estoy eliminando.
pero sigue arrojando el Warning:
Warning: unlink() expects parameter 2 to be resource, string given in C:\wamp\www\tesis\prueba.php on line 16.
acaso sera que falta un parametro de la funcion unlink()?
traducido seria: espera de parametro 2 para que sea un recurso, cadena dada in..........
consulte a php.net pero no veo que tenga mas parametros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

borrar archivos

Publicado por xve (5515 intervenciones) el 11/01/2012 07:47:57
Hola Zendi, la verdad es que unlink() únicamente espera un parámetro...
De todas maneras, no es un error, sino que es un Warning... nos puedes mostrar el resto del código?
El archivo lo elimina?

No estaría de mas, probar antes de eliminar si existe el fichero con la función file_exists()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

borrar archivos

Publicado por Andres (2 intervenciones) el 11/01/2012 20:39:01
Asi como dice xve primero comprueba que el archivo exista asi tendras un warning menos segundo ya intentaste poner un aroba antes del unlink? es decir

<?php
@unlink("1.html");
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

borrar archivos

Publicado por zendi (9 intervenciones) el 12/01/2012 01:15:31
Este es el codigo completo:
y resalté en negrilla el trozo de codigo
aprovechando esta oportunidad quiero explicarles el porque de este codigo, la idea que tengo es que quiero eliminar un archivo cuando pase por esa rutina o proceso, pero que lo realice desde una fecha en adelante sobre todo desde el 01-06-2012, pero no hallo la forma que sea en cualquier momento en adelante. Ahora si me dan alguna idea,
yo creo que deberia ser a traves de un array pero no estoy muy seguro. Como pueden ver en el codigo solo tengo dos fechas: 01-06-2012' y '02-06-2012', pero no es suficiente porque si el usuario ejecutara dicho codigo despues de estas fechas no se haria efectivo.
¿si tienen alguna idea?


<?php
$connect = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=1234");
?>
<html>
<head>

</head>
<body>
<?php
$dia1 = '01-06-2012';
$dia2 = '02-06-2012';

$hoy=date('d-m-Y');
if ($hoy == $dia1 || $hoy == $dia2){
unlink("prueba.php");
}
?>


<?php $hoy=date('d-m-Y'); ?>
<FORM action="resumendeuda.php" method="post">
<fieldset style="width:auto"><LEGEND>Gastos Realizados durante el Mes</LEGEND>
<table align="center" border='1' bordercolor='#00CC99' bgcolor="#99CC00">
<tr>
<td align="left">Fecha</td>

<td class="sr"><input type="text" value="<?php echo $hoy;?>" readonly=".F." name="fecha" size="10" maxlength="10" align="right"/></td>
</tr>
</table>

<table align="center" border='1' bordercolor='#00CC99' bgcolor="#99CC00">
<tr>
<th width='50'>Art&iacute;culo
<th width='200' align="center">Gasto
<th width='50' align="center">Monto
</tr>
</table>
<?php
$todosgastos = "SELECT * FROM gastos ORDER BY descripcion";
$seleccionados = @pg_query($connect,$todosgastos);
$total = 0;
while($select2 = @pg_fetch_array($seleccionados)):
$articulo = $select2['codigo'];
$descripcion = $select2['descripcion'];
$monto = $select2['monto'];
echo"<table align='center' border='1' bordercolor='#FFCC99'>
<tr class='sr'>
<td width='50'>$articulo
<td width='200'>$descripcion
<td width='50' align='right'>$monto
</tr></table>";
$total +=$monto;
$ntotal = number_format($total,2,',','.');
endwhile;
echo "<br><table align='center' border='1' bordercolor='#FFCC99' bgcolor='#99CC00'>
<tr class='sr'>
<td width='150' style='color:#000000'>Total
<td width='150' align='right'>$ntotal
</tr></table>";
?>
</fieldset>

<input type="submit" name="enviar" value="Enviar" title="Proceso para crear la deuda" onClick="valida_fecha();"/>
</FORM>
<?php
$day = date('d');
//if ($day>29 && isset($_POST['enviar']))
if (isset($_POST['enviar']))
{
if($day < 28) {
echo "<script>alert('No es la Fecha para Crear la Deuda')</script>";
}
else {
$total = "SELECT propietarios.nroapto,propietarios.cedula,SUM(monto) AS monto,gastos.fecha,gastos.codigo FROM propietarios,gastos GROUP BY nroapto,cedula,fecha,codigo";
$asignadeuda = @pg_query($connect,$total);
while($resultados =@pg_fetch_array($asignadeuda)):
$codigo = $resultados['codigo'];
$nroapto = $resultados['nroapto'];
$cedula = $resultados['cedula'];
$monto = $resultados['monto'];
$fecha = $resultados['fecha'];
$asignado = "INSERT INTO deuda(codigo_gasto,monto,nroapto,fecha,cedula) VALUES ('$codigo',$monto,'$nroapto','$fecha','$cedula')";
@pg_query($connect,$asignado);
endwhile;
}
}
?>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

borrar archivos

Publicado por xve (5515 intervenciones) el 12/01/2012 09:30:59
Hola Zendi, la manera que nosotros utilizamos, es pasar la fecha a su valor timestamp... seria algo así:

1
2
3
4
$dia = '2012-06-01 00:00:00';
if (time() >= strtotime($dia)){
    unlink("prueba.php");
}

Siempre que el momento que se ejecute este código la fecha sea igual o superior a las 00:00:00 del día 01/06/2012 eliminara el archivo.

NOTA: Hay que decir siempre, que estas fechas son las que se encuentran en le servidor donde se ejecuta el php.

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

borrar archivos

Publicado por zendi (9 intervenciones) el 12/01/2012 14:55:46
Hola xve bueno lo probare, entiendo tu idea hermano cualquier cosa acudire a ti por auxilio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

borrar archivos

Publicado por zendi (9 intervenciones) el 13/01/2012 19:55:04
bueno Andres y Xve, funcionó muy bien, excelente gracias colegas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar