MyDMS : exporter l'arborescence de fichiers
Par fpl le lundi 30 juin 2008, 12:15 - Général - Lien permanent
Petit script PHP qui extrait les fichiers de MyDMS et reconstitue l'arborescence des fichiers de MyDMS au niveau du file system.
<body>
<h1>MyDMS export</h1>
<hr />
<?php
$DB_HOST="localhost";
$DB_NAME="mydms";
$DB_NAME="root";
if ($_SERVER['REQUEST_METHOD']!='POST' or !isset($_POST['src']) or !is_dir($_POST['src']) or !isset($_POST['dst']) or !is_dir($_POST['dst'])) {
?>
<form method="post"><input type="text" name="src" /><input type="text" name="dst" value="" /><input type="password" name="pass" /><input type="submit" value="export!" /></form>
<?
exit(0);
}
mysql_connect($DB_HOST,$DB_USER,$_POST['pass']);
mysql_select_db($DB_NAME);
$resf=mysql_query('SELECT * FROM tblDocumentContent;');
while ($fic=mysql_fetch_array($resf)) {
//echo "<hr />".var_export($fic)."<p />";
$dms=array();
// Localise le fichier dans mydms
$dir=opendir($_POST['src'].'/'.$fic['dir']);
while ($direntry=readdir($dir)) {
if (is_file($_POST['src'].'/'.$fic['dir'].'/'.$direntry)) {
$dms['real_path']=$_POST['src'].'/'.$fic['dir'].'/'.$direntry;
break;
}
}
closedir($dir);
// Localise la cible
$resd=mysql_query('SELECT folderList FROM tblDocuments WHERE id='.$fic['document'].';');
list($folderlist)=mysql_fetch_row($resd);
mysql_free_result($resd);
$dms['export_path']=$_POST['dst'];
foreach(explode(':',$folderlist) as $d) {
if ($d==="") continue;
$resd=mysql_query('SELECT name FROM tblFolders WHERE id='.$d.';');
list($dirn)=mysql_fetch_row($resd);
mysql_free_result($resd);
$dms['export_path'].='/'.$dirn;
}
$dms['export_path'].='/'.$fic['orgFileName'];
// COPIE
if (!is_dir(dirname($dms['export_path']))) {
echo "Creation du repertoire ".dirname($dms['export_path'])."<br />";
mkdir(dirname($dms['export_path']),0777,true);
}
echo "Copie de ".$dms['real_path']." -> ".$dms['export_path']."<br />";
copy($dms['real_path'],$dms['export_path']);
}
mysql_free_result($resf);
echo "<hr />FIN";
?>




Commentaires