Recupérer les premieres lignes

gui
Eléphant du PHP | 100 Messages

09 avr. 2010, 17:08

Bonjours tout le monde,
Voilà je cherche à faire un script qui me permettrai de parcourir un fichier texte, récupérer les lignes commencent par un ">", jusque là pas de problème, par contre je dois aussi récupérer en plus la ligne qui suis ce ">".
Et là je ne sais pas faire

<?php

	$way="/home/guillaume/Desktop/Seq-matrice/sequences.fasta";
	$output="/home/guillaume/Desktop/Seq-matrice/seq.fasta";
	$lignes= file ($way); 
	foreach($lignes as $ligne) {                           
				if(strpos($ligne,'>')!== false){
				$id=$ligne;
				file_put_contents($output,$id,FILE_TEXT|FILE_APPEND);
				}

	
?>		


Pouvez vous m'aidez SVP
Merci d'avance

ViPHP
ViPHP | 5462 Messages

09 avr. 2010, 17:09

toujours sur ton truc :wink:
tu voudrais que ca s'affiche comment ?

gui
Eléphant du PHP | 100 Messages

09 avr. 2010, 17:11

Apres je mettrai un file_put_contents donc juste récupérer la ligne qui suit tous les > dans une variable

ViPHP
ViPHP | 5462 Messages

09 avr. 2010, 17:19

de toute façon c'est une lignes sur 2 ?
pusique dans ton autre topic tu voulais que ca s'affiche sur une seule ligne tout le code

gui
Eléphant du PHP | 100 Messages

09 avr. 2010, 17:22

Je fais autre chose ce n'est plus une ligne sur 2, je suis entrain de tester quelque chose, si cela fonctionne je le poste

gui
Eléphant du PHP | 100 Messages

09 avr. 2010, 17:34


	$way="C:\Documents and Settings\Guillaume\Bureau\guigui\sequences.fasta";
	$output="C:\Documents and Settings\Guillaume\Bureau\guigui\seq.fasta";
	$cpt=0;
	$lignes= file ($way); 
	foreach($lignes as $ligne) {
				if($cpt>0) {
					$seq=$ligne;
					file_put_contents($output,$seq,FILE_TEXT|FILE_APPEND);
					$cpt=0;
					}
								
				if(strpos($ligne,'>')!== false){
					$id=$ligne;
					file_put_contents($output,$id,FILE_TEXT|FILE_APPEND);
					$cpt++;
				}
				
	}
?>		



Ca fonctionne

devlop78
Invité n'ayant pas de compte PHPfrance

09 avr. 2010, 17:43

Et pourquoi pas

$lignes = file(fichier);

for ($i=0;$i<count($lignes);$i++) {

if (substr(trim($lignes[$i]),0,1) == ">") {
echo $lignes[$i] . '<br />' . $lignes[$i+1];
}

}