J’ai besoin de créer un script php qui permette de supprimer des lignes précises par leurs numéros dans un fichier.php, par exemple les lignes 45 46 47 48 49 50 51 52, quelqu’un pourrait-il m’aiguiller vers un bon tutorial ?
<?php
// Lit un fichier, et le place dans une chaîne
$filename = "fichier.txt";
$handle = fopen ($filename, "r");
$contents = fread ($handle, filesize ($filename));
fclose ($handle);
?>
Mais je ne vooie pas comment faire, pouriez vous m'aider ?$ligne=explode("\r\n",$contenufichier);
les lignes sont repérées ainsi :$ligne[0] ; // envoi la ligne 1
$ligne[1] ; // envoi la ligne 2
$ligne[2] ; // envoi la ligne 3
et ainsi de suite !Rien de transcendant. Maintenant, reprennons ton code et ajoutons-y quelques détails:Ligne de texte 01
Ligne de texte 02
Ligne de texte 03
Ligne de texte 04
Ligne de texte 05
Ligne de texte 06
Ligne de texte 07
Ligne de texte 08
Ligne de texte 09
Ligne de texte 10
Ligne de texte 11
Ligne de texte 12
Ligne de texte 13
Ligne de texte 14
Ligne de texte 15
Ligne de texte 16
Ligne de texte 17
Ligne de texte 18
Ligne de texte 19
Ligne de texte 20
Ligne de texte 21
Ligne de texte 22
Ligne de texte 23
Ligne de texte 24
Ligne de texte 25
Ligne de texte 26
Ligne de texte 27
Ligne de texte 28
Ligne de texte 29
Ligne de texte 30
<?php
// Lit un fichier, et le place dans une chaîne
$filename = "texte.txt";
$handle = fopen ($filename, "r");
$contents = fread ($handle, filesize ($filename));
fclose ($handle);
$tableau = explode("\n", $contents);
?>
<pre>
<?php
var_dump($tableau);
?>
</pre>
À l'affichage, tu vas voir ceci:
Code : Tout sélectionner
array(31) {
[0]=>
string(18) "Ligne de texte 01
"
[1]=>
string(18) "Ligne de texte 02
"
[2]=>
string(18) "Ligne de texte 03
"
[3]=>
string(18) "Ligne de texte 04
"
[4]=>
string(18) "Ligne de texte 05
"
[5]=>
string(18) "Ligne de texte 06
"
[6]=>
string(18) "Ligne de texte 07
"
[7]=>
string(18) "Ligne de texte 08
"
[8]=>
string(18) "Ligne de texte 09
"
[9]=>
string(18) "Ligne de texte 10
"
[10]=>
string(18) "Ligne de texte 11
"
[11]=>
string(18) "Ligne de texte 12
"
[12]=>
string(18) "Ligne de texte 13
"
[13]=>
string(18) "Ligne de texte 14
"
[14]=>
string(18) "Ligne de texte 15
"
[15]=>
string(18) "Ligne de texte 16
"
[16]=>
string(18) "Ligne de texte 17
"
[17]=>
string(18) "Ligne de texte 18
"
[18]=>
string(18) "Ligne de texte 19
"
[19]=>
string(18) "Ligne de texte 20
"
[20]=>
string(18) "Ligne de texte 21
"
[21]=>
string(18) "Ligne de texte 22
"
[22]=>
string(18) "Ligne de texte 23
"
[23]=>
string(18) "Ligne de texte 24
"
[24]=>
string(18) "Ligne de texte 25
"
[25]=>
string(18) "Ligne de texte 26
"
[26]=>
string(18) "Ligne de texte 27
"
[27]=>
string(18) "Ligne de texte 28
"
[28]=>
string(18) "Ligne de texte 29
"
[29]=>
string(18) "Ligne de texte 30"
}<?php
$filename = "fichier.php";
$handle = fopen ($filename, "w");
$contents = fread ($handle, filesize ($filename));
fclose ($handle);
$tableau = explode("\n", $contents);
fwrite($filename);
?>
<pre>
<?php
var_dump($tableau);
?>
</pre>
Ce code vide completement le fichier, se que je ne voie pas s'est coment définir les lignes a supprimer.<?php
$filename = "fichier.php"; // On créer la variable du nom du fichier à traiter
$handle = fopen ($filename, "w"); // On ouvre le fichier défini par le variable
$contents = fread ($handle, filesize ($filename)); // ?
fclose ($handle); // On ferme le fichier
$tableau[5] ;
$tableau[6] ;
$tableau[7] ;
$tableau = explode("\n", $contents); // ?
fwrite($filename); // On réécrit le fichier sur lui même
?>
<pre>
<?php
var_dump($tableau); // ?
?>
</pre>
Le fichier est completement vidé.