• Domingo 22 de Diciembre de 2024, 19:59

Autor Tema:  Detector Links Rotos...  (Leído 1309 veces)

spider_boy

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Detector Links Rotos...
« en: Lunes 23 de Agosto de 2004, 03:42 »
0
pues bueno, nose si se hara con php, pero me parece un poquito mas obvio... pero quiero hacer lo siguiente


supongamos que tengo un boton para descargar el archivo, pero ese archivo ya no esta, por lo tanto el link esta roto...

lo que yo quiero, es que si no existe el archivo me salte una ventana diciendo "este link esa roto, el archivo ya no existe" o algo por el estilo...

pero si el archivo existe, lo descargue normalmente... gracias

Slimer

  • Miembro activo
  • **
  • Mensajes: 59
    • Ver Perfil
Re: Detector Links Rotos...
« Respuesta #1 en: Lunes 23 de Agosto de 2004, 04:21 »
0
Hola:

Me enseñaron hace poco el siguiente código, y creo que puede servirte:


Código: Text
  1.  
  2. <?
  3. /*/
  4. Download a file using fpassthru()
  5. /*/
  6. $fileDir = "/home/pathto/myfiles"; // supply a path name.
  7. $fileName = "myfile.zip"; // supply a file name.
  8. $fileString=$fileDir.'/'.$fileName; // combine the path and file
  9. // translate file name properly for Internet Explorer.
  10. if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")){
  11.  $fileName = preg_replace('/\./', '%2e', $fileName, substr_count($fileName, '.') - 1);
  12. }
  13. // make sure the file exists before sending headers
  14. // --------------------------------------------
  15. if(!$fdl=@fopen($fileString,'r')){
  16.   die("Cannot Open File!");   // <---- AQUI ES DONDE PUEDES HACER LO QUE NECESITAS...
  17. } // ---------------------------------------------
  18. else {
  19.  header("Cache-Control: ");// leave blank to avoid IE errors
  20.  header("Pragma: ");// leave blank to avoid IE errors
  21.  header("Content-type: application/octet-stream");
  22.  header("Content-Disposition: attachment; filename=\"".$fileName."\"");
  23.  header("Content-length:".(string)(filesize($fileString)));
  24.   sleep(1);
  25.   fpassthru($fdl);
  26. }
  27. ?>
  28.  
  29.  

No se si tendrás algun codigo predilecto. Yo probe este y funciona bien...


Un saludo

Slimer
-----------------------------------------------------
Quien desea aprender, pronto llegará a saber
-----------------------------------------------------

spider_boy

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Detector Links Rotos...
« Respuesta #2 en: Lunes 23 de Agosto de 2004, 15:04 »
0
ok, muchas gracias... voy a probarlo ;)