begin process at 2012 05 27 19:57:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > DOS2UNIX SUR RÉPERTOIRE ET SOUS RÉPERTOIRE

DOS2UNIX SUR RÉPERTOIRE ET SOUS RÉPERTOIRE


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :dos2unix, DOS UNIX, breakline fichiers Niveau :Débutant Date de création :19/10/2009 Vu / téléchargé :2 577 / 46

Auteur : labotemplates

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Au fil des missions que j'ai effectuées, je me suis rendu compte que beaucoup de développeurs ne portaient pas une grande attention aux encodages des sources, que ce soit au niveau des breaklines ou des charset. Il est d'usage d'avoir des fichiers source configurés avec la paire UNIX/UTF-8, ce qui évite pas mal de soucis...
Comme tout le monde n'a pas accès à une console unix, notamment sur des serveurs partagés, voici une petite classe PHP qui permet de convertir un répertoire avec ses sous répertoires.
Configuration  et utilisation :
- placer le fichier à la racine du répertoire à traiter
- définir la liste des extensions de fichiers à traiter ($this->ext)
- lancer le script

L'autre solution est d'utiliser Eclipse qui fait ça très bien... ;)
Dans ce cas là, le workspace peut être configuré comme il se doit, ce qui reste encore la meilleure solution.

Source

  • <?php
  • class convertCRLF {
  • public function __construct() {
  • $this->countfiles = 0;
  • $this->count = 0;
  • $this->ext = array (
  • 'php',
  • 'xml',
  • 'ini',
  • 'html',
  • 'js',
  • 'css',
  • 'txt'
  • );
  • $this->returnlist = array ();
  • }
  • private function trim_CR_ContentFile($file) {
  • $datas = str_replace("\r", '', file_get_contents($file));
  • $fp = fopen($file, "wb+");
  • fwrite($fp, $datas);
  • fclose($fp);
  • }
  • private function getExtension($string) {
  • $getExtension = explode(".", $string);
  • return $getExtension[sizeof(explode(".", $string)) - 1];
  • }
  • public function viewtree($path = ".") {
  • $files = glob($path . '/*');
  • foreach ($files as $value) {
  • if (is_dir($value)) {
  • self :: viewtree($value);
  • } else {
  • if (in_array(strtolower(self :: getExtension($value)), $this->ext)) {
  • $this->count++;
  • $buffer = file_get_contents($value);
  • if (preg_match('['.chr(13).']', $buffer)) {
  • $this->returnlist[] = $value;
  • $this->countfiles++;
  • self :: trim_CR_ContentFile($value);
  • }
  • }
  • }
  • }
  • }
  • public function __toString() {
  • $return = $this->count .
  • ' fichiers de type ' . implode(', ', $this->ext) .
  • '<br />' .
  • ($this->countfiles != 0 ? $this->countfiles . ' trouvé' .
  • ($this->countfiles > 1 ? 's' : false) .
  • '.' : 'Aucun CRLF trouvé.');
  • foreach ($this->returnlist as $value) {
  • $return .= '<br />' . $value . ' converti';
  • }
  • return $return;
  • }
  • }
  • $getfiles = new convertCRLF();
  • $getfiles->viewtree();
  • echo $getfiles;
  • ?>
<?php
class convertCRLF {

	public function __construct() {

		$this->countfiles = 0;
		$this->count = 0;
		$this->ext = array (
			'php',
			'xml',
			'ini',
			'html',
			'js',
			'css',
			'txt'
		);
		$this->returnlist = array ();

	}

	private function trim_CR_ContentFile($file) {
		$datas = str_replace("\r", '', file_get_contents($file));
		$fp = fopen($file, "wb+");
		fwrite($fp, $datas);
		fclose($fp);
	}

	private function getExtension($string) {
		$getExtension = explode(".", $string);
		return $getExtension[sizeof(explode(".", $string)) - 1];
	}

	public function viewtree($path = ".") {
		$files = glob($path . '/*');
		foreach ($files as $value) {
			if (is_dir($value)) {
				self :: viewtree($value);
			} else {
				if (in_array(strtolower(self :: getExtension($value)), $this->ext)) {
					$this->count++;
					$buffer = file_get_contents($value);
					if (preg_match('['.chr(13).']', $buffer)) {
						$this->returnlist[] = $value;
						$this->countfiles++;
						self :: trim_CR_ContentFile($value);
					}
				}
			}
		}
	}

	public function __toString() {
		$return = 	$this->count .
					' fichiers de type ' . implode(', ', $this->ext) .
					'<br />' .
					($this->countfiles != 0 ? $this->countfiles . ' trouvé' .
					($this->countfiles > 1 ? 's' : false) .
					'.' : 'Aucun CRLF trouvé.');
		foreach ($this->returnlist as $value) {
			$return .= '<br />' . $value . ' converti';
		}
		return $return;
	}
}

$getfiles = new convertCRLF();
$getfiles->viewtree();
echo $getfiles;
?>


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec une capture MODULE JOOMLA 1.5 NOW LISTENING par Alcantornet
Source avec Zip Source avec une capture UPLOAD CENTER par basssem81
Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK

Commentaires et avis

Commentaire de Eregon le 26/10/2009 09:52:50

Ca a l'air sympa, mais il faudrait aussi convertir l'encodage, ce qui est plus délicat...

Je me suis toujours demandé à quoi on pouvait reconnaître l'encodage d'un fichier sans BOM ni autre indication que le fichier lui-même...

Commentaire de labotemplates le 03/12/2009 07:49:47

Solution barbare : le faire fonctionner avec PHP > ça pête ! :)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales