Lecture d'un fichier texte. Ecriture dans un fichier texte.(help)

Eléphanteau du PHP | 14 Messages

29 juil. 2009, 18:47

Bonjour,

je m'interesse au PHP mais je n'en ai jamais fait encore étant donné que je programme en Auto-it essentiellement.

J'ai trouver les ordres php :
- fopen
- readline
- while

mais je suis infoutu de pondre l'équivalent du code auto-it ci dessous en php je bloque sur le passage à la ligne suivante et au splitt des 8 premiers charactères a mettre dans une variable

Code : Tout sélectionner

#je declare mon fichier #---------------------------- $Tempfile1 = "c:\TempFile1.txt"* #je compte le nombre de ligne pour ma progressbar #------------------------------------------------------------ $countline = _FileCountLines($Tempfile1) #je lis chaque ligne une par une tant que EOF non atteind et la met dans $line #-------------------------------------------------------------------- $File = FileOpen($Tempfile1, 0) While 1 $line = FileReadLine($File) If @error = -1 Then ExitLoop #je met dans $poste les 8 premier charactère de ma ligne #-------------------------------------------------------------------- $poste = StringMid($line, 1, 8) #j'écris dans 'c:\resultat.txt' la valeur de $poste et je fais un retour chariot. #-------------------------------------------------------------------- filewriteline('c:\resultat.txt', $poste & @crlf) Wend
Si un généreux péachepéiste pouvais me mettre le pied à l'ettrier que je puisse avancé je vous en serais extremment reconnaissant.
Je pose plein de questions idiotes... mais je les pose qu'une seule fois x-)
"The quieter you become, the more you are able to hear"

Eléphanteau du PHP | 18 Messages

31 juil. 2009, 19:13

Faut être plus précis sur ce que tu veux faire.

C'est quoi Auto-IT, un truc qui te pond du code via une interface graphique sensée être simple ?

Sinon vla un petit exemple d'une fonction qui enregistre des données dans un fichier texte :
function log_503(){
	$user_agent	= $_SERVER['HTTP_USER_AGENT'];
	$time		= time();
	$date		= date('d/m/Y à H:i:s');
	$ip			= $_SERVER['REMOTE_ADDR'];
	$port		= $_SERVER['REMOTE_PORT'];
	$host		= gethostbyaddr($ip);
	
	$row = "[$date]	|	$ip : $port	|	$time	|	$host\n";
	$fichier = fopen(RACINE."/serveur/surcharges_503.log","a+");
	fputs($fichier, $row);
	fclose($fichier);
}
Modifié en dernier par megapoulpe le 07 août 2009, 18:36, modifié 1 fois.
Quelques tuto photoshop sur mon site ^^

Invité
Invité n'ayant pas de compte PHPfrance

31 juil. 2009, 19:56

salut ^^

Voici la traduction litérale de ton code en Auto-It.
Ce n'est pas la façon la plus élégante de faire la même chose en PHP mais ça te permettra de voir les analogies.

Code : Tout sélectionner

//je declare mon fichier //---------------------------- $Tempfile1 = "c:\TempFile1.txt"; $fp = fopen( 'c:\resultat.txt', 'w+' ); //je compte le nombre de ligne pour ma progressbar //------------------------------------------------------------ $lines = file( $Tempfile1 ); $countline = count( lines ); //je lis chaque ligne une par une tant que EOF non atteind et la met dans $line //-------------------------------------------------------------------- foreach( $lines as $line ){ //je met dans $poste les 8 premier charactère de ma ligne //-------------------------------------------------------------------- $poste = substr($line, 0, 8); //j'écris dans 'c:\resultat.txt' la valeur de $poste et je fais un retour chariot. //-------------------------------------------------------------------- fwrite( $fp, $poste . '\n'); } fclose( $fp );
ps : je ne vois pas le rapport avec le post de megapoulpe que je ne trouve pas très sympa.

++

Eléphanteau du PHP | 14 Messages

31 juil. 2009, 20:13

Merci à vous deux pour vos réponses.

Auto-it est un language de scripting principalement utilisé par les ingé/admin système windows server.
il n'y a absolument aucun gui pour t'aider a pondre du code.
cf : http://www.autoitscript.com/autoit3/docs/


Encore merci d'avoir pris le temps de répondre.

Saper
Je pose plein de questions idiotes... mais je les pose qu'une seule fois x-)
"The quieter you become, the more you are able to hear"