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: , , , , , , , , , , ,

Free wordpress skins | Free drupal 5 themes | Free joomla 1.5 templates | Mediawiki skins | Free pligg themes | Website templates" | Customizable Website Templates |

Reply

Copyright © 2010 What I like! All rights reserved.