Script en PHP que envia nombre de los archivos y sus localizacionnes a una base de datos en MySQL
Actualmente 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.
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-
-
"http://www.w3.org/TR/html4/loose.dtd">
-
-
<html>
-
-
<head>
-
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-
-
<title>Untitled Document</title>
-
-
</head>
-
-
<body>
-
-
<?php
-
-
$it = new RecursiveDirectoryIterator('./');
-
-
// database
-
-
$dbhost = 'localhost';
-
-
$dbuser = 'root';
-
-
$dbpass = 'password';
-
-
// connecting to database
-
-
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to MySQL');
-
-
$dbname = 'direc_files';
-
-
mysql_select_db($dbname,$conn);
-
-
// RecursiveIteratorIterator accepts the following modes:
-
-
// LEAVES_ONLY = 0 (default)
-
-
// SELF_FIRST = 1
-
-
// CHILD_FIRST = 2
-
-
foreach (new RecursiveIteratorIterator($it, 2) as $path)
-
-
{ // foreach began
-
-
if ($path != '.' && $path != '..')
-
-
{ // if began
-
-
if ( !is_dir($path) ) // tells whether the given filename is a directory
-
-
{ // if began
-
-
//echo basename($path); // display directory name
-
-
$insert = basename($path);
-
-
echo "<p>$insert</p>";
-
-
echo "\n"; // new line
-
-
// echo "<p>$path</p>";
-
-
echo "\n"; // new line
-
-
$path_trimmed = ltrim($path,'.');
-
-
echo "\n";
-
-
$dir_safe = mysql_real_escape_string($path_trimmed); // allow to enter escape character in a safe way
-
-
$dir_http = str_replace("\\\\", '/', $dir_safe); // replace '\' with '/'
-
-
echo "<strong>The directory : $dir_http </strong>";
-
-
mysql_query("INSERT INTO index_files (file_name, directory)
-
VALUES ('$insert','$dir_http')");
-
-
} // if end
-
-
} // if end
-
-
} // foreach end
-
-
//mysql_close($conn); // close mysql connection
-
-
?>
-
-
</body>
-
-
</html>