Reparation des documents

parfois a la suite d'un probleme sur les droits, les documents ne sont plus ranges correctement dans IMG/jpg/fichier.jpg, mais dans des faux sous-repertoires de la forme IMG/jpg_fichier.jpg

il faut alors verifier l'existence et les droits de ces sous-repertoires, et supprimer un eventuel fichier IMG/jpg.plat qui signale une erreur lors de la (tentative de) creation du sous-repertoire IMG/jpg/

le present script va recopier les fichiers mal places, et changer leur reference dans la table spip_documents ; il donnera ensuite la liste des fichiers recopies et des erreurs recontrees, et tu n'auras plus qu'a effacer les fichiers de la racine.

le script s'appelle via spip.php?page=repare_doc ; l'interface est spartiate :-)



[(#LOGO_DOCUMENT|right)] #FICHIER: #ID_ARTICLE $fichier) { $dest = preg_replace(',^IMG/([a-z0-3]+)_([^/]+\.(\1))$,i', 'IMG/$1/$2', $fichier); $nom = str_replace('IMG/', '',$dest); if ($fichier != $dest AND !file_exists($dest) AND copy($fichier, $dest) ) { spip_query ("UPDATE spip_documents SET fichier='".addslashes($nom)."' WHERE id_document=$id_doc AND fichier='".addslashes(str_replace('IMG/', '',$fichier))."'"); echo "tu peux effacer : $fichier
\n"; } else { echo "impossible de deplacer : $fichier
\n"; } } */ ?> Tous documents OK