Page 1 sur 1

fichier.php vers fichier.php5

Posté : 18 févr. 2006, 19:56
par Maitrepylos
Bonjour, je dois transférer mes fichiers php chez un hébergeur utilisant l'extension .php5.

Quelqu'un aurais un script qui change les extensions dans le repertoire et sous répertoire automatiquement.

Merci de votre aide.

Posté : 18 févr. 2006, 20:45
par Invité
<?php

/*

Repertoire + sous-repertoire(s)
Ne fonctionne que sous nux
Pour les includes voir fonction "chercher/remplacer dans un dossier" (kdevelop,quanta,...)

*/

define('ANCIEN','php');
define('NOUVEAU','php5');
$chemin=$_SERVER['DOCUMENT_ROOT'].'/onco';

change_toussa($chemin);
echo 'fini';

function change_toussa($chemin) {	
	if (!($dp = @opendir($chemin))) { die('mauvais chemin ou chmod'); }

	//s'occupe deja de la racine du répertoire
	cmd($chemin.'/');

	while (false!==($rep = readdir($dp))) {
		if ($rep != '.' && $rep != '..') {
			if (is_dir($chemin.'/'.$rep)) {
				cmd($chemin.'/'.$rep.'/');
				change_toussa($chemin.'/'.$rep);
			}
		}
	}
}

function cmd($ici) {
	$cmd_shell='for i in '.$ici.'*.'.ANCIEN.'; do mv "$i" "${i/.'.ANCIEN.'}".'.NOUVEAU.'; done';
	exec($cmd_shell);
}
?>

Posté : 18 févr. 2006, 20:46
par zigz4g
Salut.

Si tu as un acces a ton serveur en ligne de commande et que tu es sous Linux, je peux te conseiller ces deux commandes : find + rename.

Find te permet de rechercher que des fichiers avec une regexp et tu passes la main ensuite a un la commande mv.
Avec rename c'est un peu le meme principe. Peut etre un peu plus facile a prendre en main.

Sinon cherche un script tout faire sur google, tu trouveras certainement ton bonheur.

Posté : 19 févr. 2006, 12:16
par axel31
Salut,

Pour ton pb d'extension de fichiers, il faut que tu saches que tu n'as pas besoin de modifier ts les fichiers. Il faut simplement utiliser l'ext .php5 pour ts les points d'entrée dans ton appli afin que le serveur sache qu'il doit utiliser l'interpreteur php 5. Souvent seulement index.php5 pour les appli basées sur MVC avec un seul point d'entrée et la navigation gérée par $_GET. Les autres fichiers de scripts peuvent rester en .php, une fois l'interpreteur php 5 lancé, il sera quoi en faire ;)

Posté : 19 févr. 2006, 19:48
par Maitrepylos
Merci de votre aide :lol: