J'ai palié à une solution radicale, qu'on devrait considérer comme temporaire car je ne la conseille pas pour des sites internet, mais des applications en ligne.
Tout d'abord, je dispose d'une classe encore en construction, qui me permet de gérer les fichiers en générale.
fichier.class.php :
* @package MyFramework
* @since Version 1.0
* @version 1.0
* @copyright Copyright (c) 2011, Bertrand, Patient et Fabrice
* @license GNU General Public License
*/
class fichier extends CamerticConfig {
public function __construct() {
}
/*
*/
public function getFolders($dossier) {
$sousdossiers = array();
if($dh = opendir($dossier)) {
while(($filename = readdir($dh))) {
if(is_dir($filename)) {
$sousdossiers[] = $dossier."/".$filename;
}
}
}
return $sousdossiers;
}
public function getFoldersRecursion($folder) {
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder));
$touslesfichiers = array();
echo "";
//var_dump($it);die;
foreach( $it as $key => $file ) {
//echo $file;
$touslesfichiers[] = $file;
}
echo "
";
return $touslesfichiers;
}
public function localizeFile($file) {
$dossierappli = $_SERVER['DOCUMENT_ROOT'] . $this->appfolder;
$files = $this->getFoldersRecursion($dossierappli);
foreach($files as $f) {
if(preg_match("/$file/", $f))
return $f;
else
continue;
}
}
public function cheminReel($fichier) {
return realpath($fichier);
}
public function __destructor() {
}
}
Ensuite nou allons ecrire une fonction simple qui va nous permettre d'inclure notre fichier sans se soucier de son emplacement :function inclu($file) {
$fichier = new fichier();
include_once($fichier->localizeFile($file));
}
Nous en avons terminé. Donnez moi vos appréciations.
Aucun commentaire:
Enregistrer un commentaire