Déplacer le curseur d'un fichier
Résolu
Augustin_couval
Messages postés
22
Statut
Membre
-
Augustin_couval Messages postés 22 Statut Membre -
Augustin_couval Messages postés 22 Statut Membre -
Bonjour,
j'écris le contenu d'un fichier sur un autre fichier, en première ligne j'ajoute des noms de colones et je souhaiterais que l'écriture du fichier commence à la deuxième ligne avec la doc php sur les fichier je n'ai pas trouvé.
Avez vous une idée?
Voici le code :
j'écris le contenu d'un fichier sur un autre fichier, en première ligne j'ajoute des noms de colones et je souhaiterais que l'écriture du fichier commence à la deuxième ligne avec la doc php sur les fichier je n'ai pas trouvé.
Avez vous une idée?
Voici le code :
if (($handle_result = fopen("C:/Users/augustin.couvale/Documents/Projet/fiche_produit_initial.txt", "a+")) !== FALSE)
{
//ouverture du fichier initial
if(($handle = fopen("C:/Users/augustin.couvale/Documents/Projet/PRICE.TXT", "r+")) !== FALSE)
{
fwrite($handle_result, "nom_fabricant_description_1 , description_2 , ref_unique , statut_produit , code_barre , poids_produit ");
$row = 1;
while(($data = fgetcsv($handle , 1000, ",")) !== FALSE)
{
$row ++;
if ($row <10000)
{
fputcsv($handle_result,
array($data[1].$data[4],$data[5],$data[7],$data[12],
$data[13],$data[16]));
}
else
{
break;
}
}
}
//fermeture du fichier inital
fclose($handle);
}
//fermeture du fichier resultat
fclose($handle_result);
Configuration: Windows / Chrome 87.0.4280.141
A voir également:
- Déplacer le curseur d'un fichier
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Déplacer colonne excel - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
4 réponses
Bonjour,
Tu peux faire fseek (https://www.php.net/manual/en/function.fseek.php) pour te déplacer à un endroit précis.
Pour avancer d'une ligne sans connaître à l'avance sa taille, par contre, tu dois pouvoir faire un fgets() même sans récupérer le résultat, s'il ne t'intéresse pas.
Xavier
Tu peux faire fseek (https://www.php.net/manual/en/function.fseek.php) pour te déplacer à un endroit précis.
Pour avancer d'une ligne sans connaître à l'avance sa taille, par contre, tu dois pouvoir faire un fgets() même sans récupérer le résultat, s'il ne t'intéresse pas.
Xavier
ça ne fonctionne pas,

j'aimerais que après "poids_produit" sa écrive à la ligne suivante
j'aimerais que après "poids_produit" sa écrive à la ligne suivante
if (($handle_result_pix = fopen("C:/Users/augustin.couvale/Documents/Projet/prix_achat_fournisseur.txt", "a+")) !== FALSE)
{
//ouverture du fichier resultat ou création si il n'existe pas
if (($handle_result_produit = fopen("C:/Users/augustin.couvale/Documents/Projet/fiche_produit_initial.txt", "a+")) !== FALSE)
{
//ouverture du fichier initial
if(($handle = fopen("C:/Users/augustin.couvale/Documents/Projet/PRICE.TXT", "r+")) !== FALSE)
{
//ecriture nom colone fichier prix
fwrite($handle_result_pix, " ref_ingram , prix_achat");
//ecriture nom colones fiche produit
fwrite($handle_result_produit, "nom_fabricant_description_1 , description_2 , ref_unique , statut_produit , code_barre , poids_produit ");
$row = 1;
$fistline = fgets($handle_result_produit, 1000);
while(($data = fgetcsv($handle , 2000, ",")) !== FALSE)
{
$row ++;
if ($row <10000)
{
fputcsv($handle_result_produit,
array($data[1].$data[4],$data[5],$data[7],$data[12],
$data[13],$data[16]));
fputcsv($handle_result_pix, array($data[3].$data[8]));
}
else
{
break;
}
}
}
//fermeture du fichier inital
fclose($handle);
}
//fermeture du fichier resultat
fclose($handle_result_produit);
}
fclose($handle_result_pix);
Ton souci n'est donc pas de ne pas lire la première ligne....
mais d'ajouter un retour à la ligne après le mot poids produit ?
Ben.. il faut le mettre ce retour à a la ligne....
Dans ta ligne de code
NB: Un retour à a ligne, ça se traduit par \n ou par \r\n
mais d'ajouter un retour à la ligne après le mot poids produit ?
Ben.. il faut le mettre ce retour à a la ligne....
Dans ta ligne de code
fwrite($handle_result_produit, "nom_fabricant_description_1 , description_2 , ref_unique , statut_produit , code_barre , poids_produit ");
NB: Un retour à a ligne, ça se traduit par \n ou par \r\n