PHP - funcion unlink ().... concatenar, variable

   
Vista:

funcion unlink ().... concatenar, variable

Publicado por JHON (26 intervenciones) el 11/08/2012 06:40:37
Hola a todos, por favor alguien que me colabore con el siguiente codigo, especificamente con la funcion unlink(), ya que no me toma la variable $rutaelimina, me esta tomando la variable $ruta.
al comprobor con el codigo: printf("%s <br> archivo eliminado: ",$rutaelimina); me muestra en pantalla archivo eliminado con el valor de la variable $ruta.

Por favor alguien que me colabore con este codigo que me debe permite eliminar registros duplicados y archivos en pdf obsoletos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
set_time_limit(500);
$link=mysql_pconnect("localhost","mi_basedatos","micontraseña");
$resultados = mysql_select_db("mi_basedatosseleccionada",$link);
$query = sprintf("select * FROM `pdf` ORDER BY FECHA DESC");
$response = mysql_query($query,$link);
 
$x = 4000;
	$c=0;
		while($row = mysql_fetch_assoc($response) and $c <= $x) {
		// inicia el bucle para revisar todos los registros 
		$link1=mysql_pconnect("localhost","mi_basedatos","micontraseña");
		$resultados = mysql_select_db("mi_basedatosseleccionada",$link1);
		$query1 = sprintf("select * FROM `pdf` limit %d,1",$c);
		$response1 = mysql_query($query1,$link1);
 
			while($row1 = mysql_fetch_assoc($response1)) {
				$idPDF=$row1["idPDF"];
				printf("%s <br><br>",$idPDF);
 
				$link2=mysql_pconnect("localhost","mi_basedatos","micontraseña");
				$query2 = sprintf("select * FROM `pdf` where idPDF = '%s'",$idPDF);
				$response2 = mysql_query($query2,$link2);
				//printf("%s <br>",mysql_num_rows($response2));
				if (mysql_num_rows($response2)>=2){
					$z=1;
					while($row2 = mysql_fetch_assoc($response2)) {
							//devuelve todo lo que tiene el registro activo 
							$ruta=$row2["RUTA"];
							printf("%s <br> esta es la ruta: ",$ruta);
 
							if($z==1) {
								// VA LA ELIMINACION DEL ARCHIVO PDF
								$rutaelimina="http://misitioweb.com/PDFS/".substr($row2["RUTA"],6,20)."";
								printf("%s <br> archivo eliminado: ",$rutaelimina);
								unlink($rutaelimina);
 
								// VA EL DELETE CONDICIONAL ES $RUTA
								$link4=mysql_pconnect("localhost","mi_basedatos","micontraseña");
								$resultados4 = mysql_select_db("mi_basedatosseleccionada",$link4);
								$query4="DELETE FROM `pdf` WHERE RUTA = '$ruta'";
								$response4 = mysql_query($query4,$link4);
							}
							//printf("%s <br>",$ruta);
 
					$z++;
					}
				}
 
			}
		$c++;
	}
?>
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

funcion unlink ().... concatenar, variable

Publicado por xve (5520 intervenciones) el 11/08/2012 08:17:41
Hola Jhon, he revisado tu código, y lo que comentas no puede ser... si a $rutaelimina le asignas un valor el cual contiene parte de $ruta, no tiene porque tener el valor de $ruta... puedes modificar el printf y mostrarnos el resultado?

1
2
$rutaelimina="http://misitioweb.com/PDFS/".substr($row2["RUTA"],6,20)."";
printf("%s <br /> %s", $rutaelimina, $row2["RUTA"]);
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

funcion unlink ().... concatenar, variable

Publicado por jhon jairo (26 intervenciones) el 11/08/2012 19:15:43
NUEVAMENTE COLOCO EL CODIGO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
set_time_limit(500);
$link=mysql_pconnect("localhost","basedatos","contraseña");
$resultados = mysql_select_db("basedatoslab",$link);
$query = sprintf("select * FROM `pdf` ORDER BY FECHA DESC");
$response = mysql_query($query,$link);
 
$x = 5000;
	$c=0;
		while($row = mysql_fetch_assoc($response) and $c <= $x) {
		// inicia el bucle para revisar todos los registros 
		$link1=mysql_pconnect("localhost","basedatos","contraseña");
		$resultados = mysql_select_db("basedatoslab",$link1);
		$query1 = sprintf("select * FROM `pdf` limit %d,1",$c);
		$response1 = mysql_query($query1,$link1);
 
			while($row1 = mysql_fetch_assoc($response1)) {
				$idPDF=$row1["idPDF"];
				printf("%s <br><br>",$idPDF);
 
				$link2=mysql_pconnect("localhost","basedatos","contraseña");
				$query2 = sprintf("select * FROM `pdf` where idPDF = '%s'",$idPDF);
				$response2 = mysql_query($query2,$link2);
				//printf("%s <br>",mysql_num_rows($response2));
				if (mysql_num_rows($response2)>=2){
					$z=1;
					while($row2 = mysql_fetch_assoc($response2)) {
							//devuelve todo lo que tiene el registro activo 
							$ruta=$row2["RUTA"];
							//printf("%s <br> esta es la ruta: ",$ruta);
							//unlink($ruta);
							if($z==1) {
								// VA LA ELIMINACION DEL ARCHIVO PDF
								$rutaeliminada="http://mistioweb.com/PDFS/".substr($row2["RUTA"],6,20)."";
								//printf("%s <br /> %s", $rutaelimina, $row2["RUTA"]);
								//$rutaelimina="http://mistioweb.com/PDFS/".substr($row2["RUTA"],6,20)."";
								printf("%s <br> archivo eliminado: ",$rutaeliminada);
								unlink($rutaeliminada);
 
								// VA EL DELETE CONDICIONAL ES $RUTA
								$link4=mysql_pconnect("localhost","basedatos","contraseña");
								$resultados4 = mysql_select_db("basedatoslab",$link4);
								$query4="DELETE FROM `pdf` WHERE RUTA = '$ruta'";
								$response4 = mysql_query($query4,$link4);
							}
							//printf("%s <br>",$ruta);
 
					$z++;
					}
				}
 
			}
		$c++;
	}
 
/*printf("%s <br>",$IDENTIFICACION);
printf("%s <br>",$CODIGO);*/
?>

el resultado que se muestra en pantalla es:

http://misitioweb.com/PDFS/2012080901008649.pdf
archivo eliminado: 1008651

estoy en un circulo, por favor me ayuda a encontrar el error
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

funcion unlink ().... concatenar, variable

Publicado por xve (5520 intervenciones) el 12/08/2012 08:03:17
Hola Jhon, por lo que indicas, los valores de las variables no son iguales... pero ya se donde esta el problema...

No puedes eliminar un archivo utilizando un dirección web, tienes que utilizar la ubicación de tu archivo en tu disco duro... por ejemplo:
unlink("file.ext") si esta en la misma carpeta que el código php que lo ejecuta.
unlink("files/file.ext") si esta dentro de la carpeta files de donde se ejecuta el código php.

Revisa la ayuda del php: http://php.net/manual/es/function.unlink.php

Coméntanos, 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