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

Code

 > 

Application

 > NUMEROTE.PHP

NUMEROTE.PHP




 Description

Ce scripts simple numérote les lignes d'un fichier. Il a été concue pour numeroter des scripts que je voulais poster sur les news (groupes) afin d'obtenir de l'aide.

Il fonctionne en ligne de commande.  Tout est dans le fichier zip.

Source

  • <?php
  • /*
  • PHP5
  • if you create an improved version please send it to me at:
  • si vous en créez une meileure version me la poster svp là:
  • http://www.jeanpierredaviau.com/feedback.htm
  • */
  • class numerote{
  • private $fichier;
  • private $title;
  • function __construct($argv){
  • $argc = count($argv);
  • if ($argc < 2 || in_array($argv[1], array("help", "help", "h", "?", "aide", "au secours"))) {
  • PRINT <<<END
  • C\'est une ligne de commande à 2 arguments.
  • Utilisation :
  • >php -check-f numerote.php Fichier titre
  • arguments:
  • Fichier à être formaté comme suit:
  • Texte 1 Texte
  • Texte 2 Texte
  • Avec les options help, help, h, ?, aide, et au secours, vous obtiendrez cette aide.
  • END;
  • }
  • $this->fichier = $argv[1];
  • $this->title = $argv[2];
  • }
  • function main(){
  • // open file for reading
  • if(!($myFile = fopen($this->fichier, "r")))
  • {
  • print("Error:");
  • print("$this->fichier est impossible à lire\n");
  • exit;
  • }
  • $buffer = "\t\t\t\t\t\t\t\t\t\t" . $this->title . "\n\n\n";
  • $number = 1;
  • while(!feof($myFile))
  • {
  • //read a line from the file
  • $buffer = $buffer . $number++ . "\t" . fgets($myFile, 255);
  • }
  • //close the file
  • fclose($myFile);
  • print $buffer;
  • //C:\Documents and Settings\Jean Pierre\Bureau
  • $fichierNumerotee = "$this->fichier.Numerotée.php";
  • // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
  • // Le pointeur de fichier est placé à la fin du fichier
  • // c'est là que $somecontent sera placé
  • if (!$myBool = fopen ($fichierNumerotee, "w")) {
  • echo "Impossible de créer le fichier [ $fichierNumerotee ]";
  • exit;
  • }
  • // Assurons nous que le fichier $fichierNumerotee est accessible en écriture
  • if (is_writable($fichierNumerotee)) {
  • // Ecrivons quelque chose dans notre fichier.
  • if (fwrite($myBool, $buffer) === FALSE) {
  • echo "Impossible d'écrire dans le fichier ($fichierNumerotee)";
  • exit;
  • }
  • fclose($myBool);
  • }else{
  • echo "Le fichier $fichierNumerotee n'est pas accessible en écriture.";
  • }
  • }
  • }
  • //$N = new numerote(array('numerote.php','numerote.php','titre'));
  • $N = new numerote($argv);
  • $N->main();
  • ?>
<?php 
/*
PHP5
if you create an improved version please send it to me at:
si vous en créez une meileure version me la poster svp  là:

http://www.jeanpierredaviau.com/feedback.htm
*/


class numerote{

private $fichier; 
private $title;

	function __construct($argv){
			$argc = count($argv);
			if ($argc < 2 || in_array($argv[1], array("help", "help", "h", "?", "aide", "au secours"))) {
			PRINT <<<END
			C\'est une ligne de commande à 2 arguments.

			Utilisation :
			>php -check-f numerote.php Fichier titre

			arguments:
					 Fichier à être formaté comme suit:
							  Texte		1  Texte
							  Texte		2  Texte
		  
		  Avec les options help, help, h, ?, aide, et au secours, vous obtiendrez cette aide.
END;
		}



	$this->fichier = $argv[1]; 
	$this->title = $argv[2];
	}
	
	function main(){

			// open file for reading
			if(!($myFile = fopen($this->fichier, "r")))
			{
				print("Error:");
				print("$this->fichier est impossible à lire\n");
				exit;
			}

			$buffer = "\t\t\t\t\t\t\t\t\t\t" . $this->title . "\n\n\n";
			$number = 1;

			while(!feof($myFile))
			{
			//read a line from the file
			$buffer = $buffer . $number++ . "\t" . fgets($myFile, 255);
			}

			//close the file
			fclose($myFile);

			print $buffer;
		//C:\Documents and Settings\Jean Pierre\Bureau
			$fichierNumerotee = "$this->fichier.Numerotée.php";
			 // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
			 // Le pointeur de fichier est placé à la fin du fichier
			 // c'est là que $somecontent sera placé
			 if (!$myBool = fopen ($fichierNumerotee, "w")) {
					echo "Impossible de créer le fichier [ $fichierNumerotee ]";
					exit;
			 }

			// Assurons nous que le fichier $fichierNumerotee est accessible en écriture
			if (is_writable($fichierNumerotee)) {

			  // Ecrivons quelque chose dans notre fichier.
			  if (fwrite($myBool, $buffer) === FALSE) {
				echo "Impossible d'écrire dans le fichier ($fichierNumerotee)";
				exit;
			  }
			  fclose($myBool);              
			}else{
			echo "Le fichier $fichierNumerotee n'est pas accessible en écriture.";
			}
		}
}

//$N = new numerote(array('numerote.php','numerote.php','titre'));
$N = new numerote($argv);
$N->main();
 ?>

 Conclusion

À vous les débutants!

 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 du même auteur

Source avec Zip Source avec une capture APERÇU DES FICHIERS IMAGES OU HTML

 Sources de la même categorie

Source avec une capture PHPREPOGENERATOR + REPO (WIN) par alvinp
Source avec Zip IPHONE - ICÔNE D'APPEL TÉLÉPHONIQUE SUR L'ÉCRAN D'ACCUEIL par Rainbow
Source avec Zip Source avec une capture [APP WEB]SERVEUREXPLOREUR par thematrix01
Source avec Zip Source avec une capture MY.BOOKMARKS par inwebo
Source avec Zip M.V.C M.E.D par faceme

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CONVERTISEUR BINAIRE OCTAL DEC HEX... par sitajony
Source avec Zip Source avec une capture RECHERCHE ET LISTE par liptibilly
Source avec Zip Source avec une capture APERÇU DES FICHIERS IMAGES OU HTML par GrosJeanCommeDevant
Source avec Zip PETIT ROBOT D'INDEXATION ZINSEARCHBOT par tony1239456
Source avec Zip Source avec une capture BASE IMAGE PHP/MYSQL AVEC INDEXATION, RECHERCHE ET AUTHENTIF... par djosos

Commentaires et avis

Commentaire de neigedhiver le 13/02/2009 23:47:28

Salut,

On doit pouvoir faire plus court non ?

function numerote($file) {
  if (!is_file($file) || !(is_readable($file)) {
    return false;
  }
  $buffer = '<ol>';
  foreach ($lines = file($file) as $num => $line) {
    $buffer .= "<li>$line</li>";
  }
  $buffer .= '</ol>';
  return $buffer;
}

Soit dit en passant :

1/ On trouve un exemple (qui retourne un tableau html, certes) sur la doc de PHP : http://fr.php.net/manual/fr/function.file.php#function.file.examples

2/ On peut passer un nombre variables d'arguments à une fonction (donc à une méthode également) et les récupérer avec funv_get_args() (personnellement, je préfère cette méthode à celle qui consiste à passer un tableau). D'ailleurs, je ne vois pas l'intérêt de faire comme ça quand le noombre d'arguments est fixe (deux pour ton constructeur).

3/ Ta classe en fait beaucoup trop. Elle lit, formate le texte et l'écrit dans un nouveau fichier. Elle ne devrait pas en faire autant. Le formatage devrait, à la limite, pouvoir être configuré (ce n'est pas le cas dans mon exemple, certes, j'ai pondu ça en quelques secondes pour illustrer). Il faudrait plutôt des classes pour chaque type de formatage (texte brut, tableau html, liste html, etc) étendant la classe "principale". Pour l'écriture dans un fichier, ça me parait arbitraire : il faudrait là encore une classe étendue pour écrire dans un fichier, envoyer le texte sur la sortie standard, l'écrire sur un ftp, etc.

Pour résumer, je pense qu'une classe pour faire juste ça, c'est excessif. Une simple fonction, voire quelques unes bien, pensées, ce serait largement suffisant.

Commentaire de GrosJeanCommeDevant le 14/02/2009 00:00:58

Ce qui serait bien ce serait qu'elle colle le résultat dans le presse papier.

Car le fichier de sortie est créé pour être posté sur les news en texte brut.

Commentaire de neigedhiver le 14/02/2009 11:17:04

PHP est un langage côté serveur : il ne peut pas intéragir avec le navigateur client ou l'OS de l'utilisateur. Il peut juste envoyer des données au navigateur (texte ou binaire). Il faut ensuite du JS pour coller dans le presse papier. On peut faire un script PHP qui crache du texte brut couplé à un script JS qui le récupère avec un XHR et en fait ce qu'on veut (comme le mettre dans le presse-papier).

Commentaire de GrosJeanCommeDevant le 14/02/2009 20:50:40

Neigedhiver a dit:"
JS qui le récupère avec un XHR "
Je n'ai pas joué avec JavaScript depuis longtemps mais,, tu me donne l'idée de démarrer la classe via cmd et de copier cia cmd (clip.exe) dans le Presse Papier. ;-)

GJCD

Commentaire de GrosJeanCommeDevant le 17/02/2009 00:34:03

Il suffit d'ajouter
system("Votre path\clip.exe <   $fichierNumerotee");
entre la ligne 81 et 82

JPD

Commentaire de neigedhiver le 17/02/2009 12:24:59

C'est bof... Ca ne marche que sur Window$...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Script d'indexation [ par Coundelitch ] bonjour !Je recherche un script d'indexation, et j'aimerai connaitre son principe.Merci d'avance ! outil gratuit de statistiques de sites pour webmasters ! [ par matthieuaubry ] Bonjour à tousUne bonne astuce pour tous les webmasters sans argent : phpMyVisites est un outil gratuit de statistiques de sites Internet qui s'instal Indexation [ par dorian53 ] Bonjour,"On considère qu'un index est inutile s'il ne peut éliminer plus de 70% des enregistrements de la table lors d'un select."Très bien mais cela Numérotation automatique d'un tableau [ par FilipeZA ] Bonjour,je suis actuellement en train de faire un Top 50 des sites.Comme tous les Top 50, le tableau doit &#234;tre num&#233;rot&#233; du 1er &#224; x Comment lancer directement l'application de numérotation de téléphone de windows? [ par ckhalilo ] Bonjours tou le monde.je cherche &#224; avoir acc&#233;es d'une application de windows qui compose les num&#233;ros automatiquement sous Windows&nbsp; Robot d'indexation web [ par tony4758 ] Bonjour, je cherche &#224; cr&#233;er un mini robot d'indexation web qui releverait les metatags des sites et parcoueraraient les liens. EN sachant qu copier/coller le code source sans la numérotation :) [ par frop01 ] Bonjour, je sais tr&#232;s bien que cette question a d&#233;j&#224; &#233;t&#233; poser auparavant mais je ne trouve pas les mots clefs pour faire un Outil de création et de déploiement web complet [TITRE MODERE CAR PEU EXPLICITE...BIEN QUE MARRANT ;-)] [ par trismuth ] Bonjour Je suis en train de me faire un petit site perso sur free . Pour &#233;diter mes pages html, j'utilise Nvu, c'est super joli bien fait, et & affichage dynamique/automatique [ par docbambou ] bonjour, J'ai un outil dans la partie admin du site qui permet de rentr&#233; une nouvelle sortie(type,date,d&#233;signation,etc...).L'outil fonction Problème d'indexation [ par LaurentKOogar ] Bonjour,GG index depuis 1 semaine la page de voteLa syntaxe du fichier robots.txt est-elle correcte ?Merci d'avance# robots.txt pour le site http://ww


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,686 sec (4)

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