Ver Mensaje Individual
  #27 (permalink)  
Antiguo 18/07/2011, 15:22
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Autenticar usuario y direccionarlo a carpeta propia en hosting para descar

tu error es muy sencillo, no debes poner el dominio, porque si no, file_exists no funciona, únicamente verifica archivos/carpetas DENTRO del mismo servidor, ahora, me ah entrado la duda si todo esta en un mismo servidor, ya que no encuentro otra razón como para indicar un dominio, esto me hace pensar que el código PHP se esta ejecutando en el dominio1.com (es ejemplo) y los pdf estan en dominio2.com

Ahora, si todo esta en el mismo dominio y bajo el mismo servidor solo cambia...
Código PHP:
Ver original
  1. <?php
  2.  
  3. $user = $_POST["user"];
  4. $path = "repeventos/".$user; //tomando en cuenta que miphp2.php esta en raíz
  5.  
  6. if (file_exists($path)) {
  7. header("location: ".$path);
  8. exit();
  9. }else {
  10. echo 'No existe dicho usuario/carpeta';
  11. }

Ahora, si esta en un servidor externo es diferente, se me ocurre algo así
Código PHP:
Ver original
  1. <?php
  2. $user = $_POST["user"];
  3. $path = "http://www.servidordecuentas.com/repeventos/".$user;
  4.  
  5. if (@file_get_contents($path)) { //Aquí lee la nota final
  6.      header('location:'.$path);
  7.      exit();
  8. }else {
  9.      echo 'No existe dicha carpeta en servidor externo';
  10. }

Nota final: Notaras que antes del file_get_contents hay un @, bueno, la razón de esto es que si la carpeta no existe devolverá un error 404, PERO file_get_contents mostrará un e_warning ya que el offset será 0, y el @ evitará que se imprima el error en la página, como no eh encontrado otra forma de que no muestre el error es la razón de incluir el @, PERO, esto esta terminante mente desaconsejado en otros entornos, lo mejor es resolver los errores/warnings que muestre el servidor, por profesionalismo, y para evitar que los logs de error aumente cada vez que alguien visite dicho archivo, aunque ahorita que lo pienso, posiblemente con un try catch podría capturar el warning
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)