PHP - Duda ruta archivo

   
Vista:

Duda ruta archivo

Publicado por Numis (15 intervenciones) el 11/05/2014 10:12:57
Hola tengo una tabla en mysql denominada users dentro de estos users un campo es Clase que contiene la Clase del usuario que puede ser 13,14,..hasta el número 42.


LA cuestión es que quisiera mostrar un archivo que estaría en la siguiente ruta (en función de ese campo "Clase" que en este ejemplo es 13 pero podría ser del 14 al 42:


<h3> Nota del Alumno &nbsp; </h3>

<br/><br/>

<a href="ResultadosAnuales\14\Notas.pdf"> Notas del trimestre </a>

<br/><br/>

No sé si se podría definir al así como:

variable=Clase

for Aula=13 to 42

<h3> Nota del Alumno &nbsp; </h3>

<br/><br/>

<a href="ResultadosAnuales\"Aula"\Notas.pdf"> Notas del trimestre </a>

<br/><br/>


A ver si alguno puede echarme una mano estoy aprendiendo a programar y aunque sea una pequeña indicación para saber si se puede confirar algo así parecido me valdría si me poneis un ejemplo os lo agradecería mucho y os envio mil gracias por adelantado
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

Duda ruta archivo

Publicado por xve (5520 intervenciones) el 11/05/2014 19:11:58
Hola Numis, no se si te he entendido bien, pero lo que tu necesitas, creo que es utilizar el ModRewrite, para que por ejemplo, al poner esta url:
ResultadosAnuales\14\Notas.pdf
te redireccione a la url:
descargar.php?clase=14&notas.pdf

Coméntanos si es esto lo que buscas, 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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 11/05/2014 20:24:15
Yo he creado un registro de usuario,

De manera que la "web" sabe que el alumno "XXX" está registrado.

Yo tengo una carpeta por curso Clase A, Clase B, Clase C cuyo material va en diferentes carpetas.

Yo tengo una base de datos de mysql que tiene que el alumno "XXX" es de la Clase A=13

Lo que yo quiero es que estando conectado le enseñe el archivo de "su" carpeta

No sé si lo que me comentas valdría yo buscaría algo así como

if "user"=XXX (como identifica que es de la clase A=14)

En la línea de referencia al fichero pone el "14" en la ruta del folder:

<a href="ResultadosAnuales\14\Notas.pdf"> Notas del trimestre </a>

¿Existe algo así?
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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 12/05/2014 07:02:18
Por favor a ver si alguien puede ayudarme Graciassss
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

Duda ruta archivo

Publicado por xve (5520 intervenciones) el 12/05/2014 07:14:12
Pero como sabes que es el usuario XXX el que esta revisando la pagina? se ha logeado con anterioridad?

De alguna manera tienes que saber que usuario es el que esta revisando la pagina, no?
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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 12/05/2014 07:19:29
Si si el usuario se ha logrado previamente lo q no se es como individualizar la ruta donde están sus archivos.
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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 13/05/2014 00:21:53
Venga a ver si alguno me puede echar un clave...la historia es un usuario que reconozco que está logeado, cómo programar que sólo pueda ver las carpetas de su folder asociado.

if "user"=XXX (el progrma irá a la base de datos y mirara identifica que es de la clase A (que es el número 14)

En la línea de referencia al fichero

¿Cómo poner "14'" en la ruta del folder? Programado porque el puede ser 15,16,17 etc

<a href="ResultadosAnuales\14\Notas.pdf"> Notas del trimestre </a>


¿Existe algo así?
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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 13/05/2014 22:18:45
Hola,

Por favor, a ver si me podeis hechar un ayuda por favor voy a simplificar la duda:

Si tengo una serie de usuarios llamada usuario y se loguean y quiero modificar la ruta de href para que cada usuario apunte a una carpeta

<a href="ResultadosAnuales\usuario\Notas.pdf"> Notas del trimestre </a>

¿Como podría hacerlo programándolo?

Muchas Gracias por adelantado
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

Duda ruta archivo

Publicado por xve (5520 intervenciones) el 14/05/2014 08:12:53
Hola, te lo comente en el mensaje anterior... Tienes que utilizar ModRewrite

Cuando el en la url del navegador haya:
1
http://www.dominio.com/ResultadosAnuales/14/Notas.pdf
con ModRewrite consigues que internamente te realice una llamada a un fichero php, pasando como parámetros:
1
tuArchivo.php?idUsuario=14&archivo=Notas.pdf

De esta manera, en tuArchivo.php podrás crear el pdf Notas.pdf para el usuario 14 para que se lo descargue.

Si la url fuera:
1
http://www.dominio.com/ResultadosAnuales/7/Notas.pdf
Llamaria a tu archivo:
1
tuArchivo.php?idUsuario=7&archivo=Notas.pdf
Y sabrias que tendrias que crear el archivo Notas.pdf para el usuario 7


Otra manera, es crear tantas carpetas como usuarios tengas con sus archivos en el interior, y te funcionara perfectamente sin modrewrite... pero creo que la manera anterior descrita es mejor.


Espero que me haya sabido explicar... 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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 14/05/2014 19:37:15
Hola MIL GRAACIAS ¡¡¡

ahora sí te he entendido y me he estado mirando mucha información sobre ModRewrite pero no sé por donde empezar (soy novato).

A ver mi en el archivo que "detecta" a mis usuarios tengo lo siguiente:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
 //Sacar datos del usuario que ha iniciado sesion
    $sql = "SELECT  Clase,, tx_nombre,tx_DNI,tx_TipoUsuario,id_usuario
            FROM tbl_users
            LEFT JOIN ctg_tiposusuario
            ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
            WHERE id_usuario = '".$_SESSION['uid']."'";
    $result     =mysql_query($sql);
 
    $nombreUsuario = "";
$clase="";
 
    if( $fila = mysql_fetch_array($result) )
        $nombreUsuario = .$fila['tx_DNI']."
		$clase=.$fila['Clase']

Mi archivo princi.php es el que "lee" que el usuario está logeado (utilizo xampp )

Aquí es donde me pierdo...
Lo que he leido del modRewrite es que hay que crear un fichero .htaccess

En este habría que incluir un código del estilo

1
2
3
4
5
6
7
8
9
10
11
<IfModule mod:rewrite.c>
	RewriteEngine On
	RewriteEngine /Pagina2/
 
RewriteRule ^([a-zA-Z0-9]+)/$ tuArchivo.php?$clase&archivo=Notas.pdf
 
ESTA PARTE ES LA QUE NO SE HACER y no veo manuales, Mi fichero por cada Clase estará en
 
Pagina2/ResultadosAnuales/$clase/Notas.pdf
 
</IfModule>

¿Como hago para que, una vez logeado, en la página que le aparece al usuario ponga un texto "Notas" y al pinchar ese texto le habra la url Pagina2/ResultadosAnuales/$clase/Notas.pdf?

No sé si me explico bien.

Mil gracias por los comentarios.
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

Duda ruta archivo

Publicado por xve (5520 intervenciones) el 14/05/2014 21:49:20
En el .htaccess, yo pondría únicamente esto:

1
2
3
RewriteEngine On
## http://www.dominio.com/ResultadosAnuales/14/Notas.pdf
RewriteRule ^ResultadosAnuales/([0-9]+)/(.*).pdf$ tuArchivo.php?idClienbtes=$1&archivo=$2 [L,NC]

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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 15/05/2014 19:17:04
Hola,

Perdónnnn (muchas gracias por adelantado por la ayuda) me estoy volviendo loco.

Te adjunto el código de la página una vez se ha logeado un usuario.

He hecho el htaccess con el código que me comentabas pero No sé como hacer para que donde pongo en el código de abajo (que es la página a la que accede el usuario una vez se ha logeado) se llama principal.php en el línea que he puesto abajo:

"AQUI ES DONDE QUIERO UN ENLACE QUE PONGA NOTAS y que lleve a la carpeta que apunta htaccess"

crear un hipervínculo que al dar a NOTAS me lleve al folder
## http://www.dominio.com/ResultadosAnuales/14/Notas.pdf

donde 14 es la "variable" que reconoce el idUsuario y que está en esa Clase 14 (y enseña) el fichero Notas.pdf

En el htaccess apunta a tuArchivo.php ¿Debo crear uno que se llame así? Y qué debería poner?

Mi archivo principal.php es el siguiente:

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
//Inicializar una sesion de PHP
session_start();
 
//Validar que el usuario este logueado y exista un UID
if ( ! ($_SESSION['autenticado'] == 'SI' && isset($_SESSION['uid'])) )
{
    //En caso de que el usuario no este autenticado, crear un formulario y redireccionar a la 
    //pantalla de login, enviando un codigo de error
?>
        <form name="formulario" method="post" action="index.php">
            <input type="hidden" name="msg_error" value="2">
        </form>
        <script type="text/javascript">
            document.formulario.submit();
        </script>
<?php
}
 
    //Conectar BD
    include("conectar_bd.php");
    conectar_bd();
 
    //Sacar datos del usuario que ha iniciado sesion
    $sql = "SELECT  Clase,Direccion,PuertaLocalGaraje, tx_nombrealumno,tx_apellidoPaterno,tx_TipoUsuario,id_usuario
            FROM tbl_users
            LEFT JOIN ctg_tiposusuario
            ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
            WHERE id_usuario = '".$_SESSION['uid']."'";
    $result     =mysql_query($sql);
 
    $nombreUsuario = "";
 
 
    //Formar el nombre completo del usuario
    if( $fila = mysql_fetch_array($result) )
        $nombreUsuario = "Hola ".$fila['tx_nombrealumno']." ".$fila['tx_apellidoPaterno'];
 
//Cerrrar conexion a la BD
mysql_close($conexio);
?>
 
 
<html lang="es">
<head>
 
 
<title>Clases PAco
</title>
<meta charset="utf-8"/>
<meta name="description" content="zcvv "/>
<meta name="viewport" content="width=devide-width,initial-scale=1"/>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
<link rel="stylesheet"  href="css/estilos.css" />
 
 
<!--[if lt IE 9]>
	<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]>-->
 
<link rel="stylesheet" href="flexslider.css"  media="screen" />
	<script src="jquery.min.js"></script>
	<script src="jquery.flexslider-min.js"></script>
	<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
 
	<!-- Includes for this demo -->
	<link rel="stylesheet" href="css/flexslider.css" media="screen" />
 
	<!-- Hook up the FlexSlider -->
	<script>
		$(window).load(function() {
			$('.flexslider').flexslider();
		});
	</script>
 
    <script type="text/javascript">
    <!--
        $().ready(function() {
            $("#frmlogin").validate();
            $("#usuario").focus();
        });
    // -->
    </script>
</head>	
<body>
<header>
	<h1>
		<a href="index.html" > 
			<img class="fade" alt="bla bla" src="img/bix.png" />
	</a>
	
		</h1>

<nav> 

	<h6>  <td  width="15px" align="center">
        <!-- Proporcionar Link para cerrar sesion -->
        <a href="cerrarSesion.php">CERRAR SESI&Oacute;N &nbsp;</a> 
		    </td> 

			</h6>	

		</nav>

	</header>

	<section id="contenido2">
	<section id="Mercados2">
	
	<article id="servicio12">
	<h3><tr>                                              <!-- Dar Bienvenida al usuario -->
    <td  width="100px" align="right">Bienvenido, es usted <b><?php echo $nombreUsuario ?>&nbsp;&nbsp;</b></td>
    
</tr></h3>
	<p>
	<br/>

<h3> Resultados examenes &nbsp; </h3>

<br/><br/>

AQUI ES DONDE QUIERO UN ENLACE QUE PONGA NOTAS y que lleve a la carpeta de htaccess


<br/><br/>

Por favor escríbenos si tienes duda

<br/><br/><br/><br/><br/><br/>

	</p>

		</article>
			</section>
		</section>

<footer>Pruebas de Clase </footer>
</body>
</html>


Mil gracias.
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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 16/05/2014 07:20:39
Hola no sé si me expliqué ayer

En mi archivo principal.php que es donde reconoce que el usuario es el correcto quiero poner un texto, Notas de tu clase y al darle a este texto (hipervíncilo) debería redireccionar al archivo que apunta htaccess,

Qué debería poner en el fichero principal.php para que se concecte con el htaccess?

Muchas Gracias mil yo trato de verlo en la información que encuentro por internet pero no acabo de entenderlo y no lo consigo.

Muuuuuchas gracias
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

Duda ruta archivo

Publicado por xve (5520 intervenciones) el 16/05/2014 10:34:49
La verdad no entiendo muy bien lo que me preguntas...

Cualquier url que tu generes que vaya a:
http://www.dominio.com/ResultadosAnuales/XX/YY.pdf
donde XX sea numerico y YY sea cualquier cosa, debería hacer uso del modrewrite.

Primeramente deberías de revisar si te funciona el modrewrite??
Si te funciona, luego puedes capturar los valores en el archivo tuArchivo.php con:
$_GET["idClienbtes"] y $_GET["archivo"]

Coméntanos si esto te funciona...
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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 17/05/2014 23:43:09
Hola me da palo preguntar otra vez pero no me aclaro a ver si me podeis ayudar.

Si hago
1
2
echo $nombreUsuario = "".$fila['CF'];
echo $fichero = "Notas.pdf"
Obtengo los dos nombres de las variables

Por cierto que CF es alfanumérico.

No se como configurar el href para que al darle al hipervinculo me lleve al folder

1
2
3
4
5
6
7
<?php
 
echo $nombreUsuario = "".$fila['CF'];
echo $fichero = "Notas.pdf"
 
<a href="ResultadosAnuales\".$nombreUsuario."\".$fichero"> Notas </a>
?>

Tambien lo he intentado con $_GET["CF"] y $_GET["fichero"] pero parece que $CF es un array y lo estoy tratando como un string y no se como hacerlo. Aunque lo hubiese conseguido...no se lo del href como lo debería construir

Lo siento mucho preguntar tanto.
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

Duda ruta archivo

Publicado por xve (5520 intervenciones) el 18/05/2014 09:42:49
Hola bgnumis, creo que tienes un error... si el href esta dentro del codigo php, tendras que hacer un echo, o un print, no?

1
2
3
4
5
6
7
<?php
 
echo $nombreUsuario = "".$fila['CF'];
echo $fichero = "Notas.pdf"
 
echo "<a href='ResultadosAnuales\".$nombreUsuario."\".$fichero."'> Notas </a>";
?>

Era este el problema?
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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 18/05/2014 10:46:08
Hola sí el href no entendía que php se pone diferente ya me voy acercando¡¡¡


LA duda ahora es:

Estas son mis "variables"

$nombreUsuario = "".$fila['']."/";
$fichero = "Notas.pdf";

Quiero con un href en php marcar la ruta de Notas


echo '<a href="Evaluacion/".$nombreUsuario.$fichero;> Ve a las Notas de tu Clase.</a>';

pero la última parte .$nombreUsuario.$fichero; no lo añade a la ruta y en "ve a las Notas de tu Clase" te redirige a:

http://localhost/Pagina2/Evaluacion/

Y yo quiero que añada el nombre usuario y fichero.

¿Por qué no añade estas dos "variables" a la ruta?

La otra cuestión es da igual que nombreUsuario sea alfanumérico si en el htaccess puse algo así como

<IfModule mod:rewrite.c>
RewriteEngine On
RewriteEngine /Pagina2/

RewriteRule ^([a-zA-Z0-9]+)/$ tuArchivo.php?$clase&archivo=Notas.pdf


Gracias¡¡¡¡¡¡
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

Duda ruta archivo

Publicado por xve (5520 intervenciones) el 18/05/2014 16:52:26
La verdad no entieno porque te lleva a puna pagina denominada Evaluacion...

Que contiene la variable $fila?
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

Duda ruta archivo

Publicado por bgnumis (15 intervenciones) el 18/05/2014 17:43:00
voy a simplificarlo:

en php pongo:

echo $datosUsuario = "http://localhost/Pagina2/Evaluación/".$fila['usuario']."/Notas.pdf";

Y sale la ruta ok

http://localhost/Pagina2/Evaluacion/H14/Notas.pdf

pero al poner

echo '<a href="datosUsuario";> Ve a las Notas.</a>';

Lo que hace es ponerme
http://localhost/Pagina2/Evaluacion/H14/Notas.pdf Ve a las notas (y el link es Pagina2/datosUsurario (que no existe) vamos que no me reconoce la variable.

Estoy volviéndome loco...
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

Duda ruta archivo

Publicado por xve (5520 intervenciones) el 18/05/2014 20:45:23
Hola bgnumis, entiendes que no puede ser de ninguna manera... me da la sensación que tienes un lió de código o paginas....

Si pones este código en una pagina sin nada mas, y le pulsas el enlace funciona correcto:
1
2
3
<?php
echo '<a href="datosUsuario";> Ve a las Notas.</a>';
?>
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