0

Script en PHP que envia nombre de los archivos y sus localizacionnes a una base de datos en MySQL

Posted by Kelvin on Jul 24, 2009 in PHP

phpActualmente estoy trabajando en un proyecto en donde tengo que realizar una pagina Intranet.  Como parte del mismo tengo que copiar el nombre y el directorio de unos archivos que estan alojados en el servidor.  Hay es cuando interviene PHP, con el cual he creado un "script" que al momento de correrlo se conecta a una base de datos en MySQL y envia el nombre y directorio de los archivos.  El mismo hay que correrlo de forma manual, pero se podría implementar para que corra automaticamente cada minuto, hora o dia. Asimismo, una vez  la informacion esta en la base de datos se puede crear un buscador con PHP en donde el usuario pueda buscar los archivos y descargarlos.

Ejemplo:

C:\documentos\midocumento.doc

Se enviara a la base de datos: midocumento.doc y el directorio C:\documentos\midocumento.doc

* El mismo funciona con el backslash '\' de Windows, si vas a utilizar Linux debes modificar el codigo.

CODE:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2.  
  3. "http://www.w3.org/TR/html4/loose.dtd">
  4.  
  5. <html>
  6.  
  7. <head>
  8.  
  9. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  10.  
  11. <title>Untitled Document</title>
  12.  
  13. </head>
  14.  
  15. <body>
  16.  
  17. <?php
  18.  
  19. $it = new RecursiveDirectoryIterator('./');
  20.  
  21. // database
  22.  
  23. $dbhost = 'localhost';
  24.  
  25. $dbuser = 'root';
  26.  
  27. $dbpass = 'password';
  28.  
  29. // connecting to database
  30.  
  31. $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to MySQL');
  32.  
  33. $dbname = 'direc_files';
  34.  
  35. mysql_select_db($dbname,$conn);
  36.  
  37. // RecursiveIteratorIterator accepts the following modes:
  38.  
  39. //     LEAVES_ONLY = 0  (default)
  40.  
  41. //     SELF_FIRST  = 1
  42.  
  43. //     CHILD_FIRST = 2
  44.  
  45. foreach (new RecursiveIteratorIterator($it, 2) as $path)
  46.  
  47. { // foreach began
  48.  
  49. if ($path != '.' && $path != '..')
  50.  
  51. { // if began
  52.  
  53. if ( !is_dir($path) ) // tells whether the given filename is a directory
  54.  
  55. { // if began
  56.  
  57. //echo basename($path); // display directory name
  58.  
  59. $insert = basename($path);
  60.  
  61. echo "<p>$insert</p>";
  62.  
  63. echo "\n"; // new line
  64.  
  65. // echo "<p>$path</p>";
  66.  
  67. echo "\n"; // new line
  68.  
  69. $path_trimmed = ltrim($path,'.');
  70.  
  71. echo "\n";
  72.  
  73. $dir_safe = mysql_real_escape_string($path_trimmed); // allow to enter escape character in a safe way
  74.  
  75. $dir_http = str_replace("\\\\", '/', $dir_safe); // replace '\' with '/'
  76.  
  77. echo "<strong>The directory : $dir_http </strong>";
  78.  
  79. mysql_query("INSERT INTO index_files (file_name, directory)
  80. VALUES ('$insert','$dir_http')");
  81.  
  82. } // if end
  83.  
  84. } // if end
  85.  
  86. } // foreach end
  87.  
  88. //mysql_close($conn); // close mysql connection
  89.  
  90. ?>
  91.  
  92. </body>
  93.  
  94. </html>

Tags: , , , , , , , , , , ,

Copyright © 2010 What I like! All rights reserved.