Fichier .txt

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fichier .txt

par dunbar » 13 janv. 2009, 00:33

Bon ok ça fonctionne, je testais un nv editeur et cette :tir2: ne rafraichit pas

par SpintroniK » 13 janv. 2009, 00:23

C'est pas ton fopen qui doit être dans la boucle, mais le fwrite, non ?

par dunbar » 13 janv. 2009, 00:21

Normal, $a et $b sont des tableaux et tu les concatène avec une chaîne de caractères.
De plus ton fopen doit être avant le while alors que le fwrite doit être dedans et le fclose après.
Et à mon avis tu aurais du garder
    $generation = '&' . $row['id_lm'] . '&' . $row['adresse'] . '&'; 
J'ai créer un tableau pour sortir mes variable de ma boucle WHILE parce ci je place fopen ds ma boucle j'ai une erreur il ne sais pas écrire ds le fichier

par SpintroniK » 13 janv. 2009, 00:05

Normal, $a et $b sont des tableaux et tu les concatène avec une chaîne de caractères.
De plus ton fopen doit être avant le while alors que le fwrite doit être dedans et le fclose après.
Et à mon avis tu aurais du garder
    $generation = '&' . $row['id_lm'] . '&' . $row['adresse'] . '&'; 

par Ryle » 13 janv. 2009, 00:04

Tu n'as rien dans le fichier ? où tu as juste "&Array()&Array()&" ?

Dans ton fichier, tu vas ecrire le contenu de $generation. Assure toi donc juste que ce contenu correspond bien à ce que tu souhaites avoir dans ton fichier, fwrite() fera le reste :)

par dunbar » 12 janv. 2009, 23:56

Ok imaginons que le soucis viennent de là j'ai modifier ma méthode comme ceci
include '../include/config.php';
$sql = 'SELECT id_lm, adresse FROM ampli_lm';
$result = mysql_query($sql) or die('Ne trouve pas tout les données : ' .
    mysql_error());
$a = array();
$b = array();
while ($row = mysql_fetch_array($result)) {

    $id_lm = $row['id_lm'];
    $adresse = $row['adresse'];
    array_push($a, $id_lm);
    array_push($b, $adresse);
}


$f = 'Reseau_600_mhz.txt';
$handle = fopen($f, 'w');
$generation = '&' . $a . '&' . $b . '&';

// regarde si le fichier est accessible en écriture
if (is_writable($f)) {
    // Ecriture
    if (fwrite($handle, $generation) === false) {

        echo 'Impossible d\'écrire dans le fichier 1' . $f . '';
        exit;
    }


    fclose($handle);

} else {
    echo 'Impossible d\'écrire dans le fichier ' . $f . '';
}

echo 'Génération du fichier terminé avec succés pour le télécharger merci de <a href="' .
    $f . '">cliquez ici</a>';
Alors là ci je fais un print_r() j'ai mes données mais par contre dans mon fichier j'ai rien, là je comprend plus :twisted:

par blof » 12 janv. 2009, 16:55

Salut,

fopen(), extrait du manuel :
'w' Ouvre en écriture seule ;
place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0.
Si le fichier n'existe pas, on tente de le créer.
fopen() est à l'intérieur de la boucle "while".

Le fichier est donc "écrasé" à chaque tour.
Il ne contient que la dernière occurrence de $generation.

Fichier .txt

par dunbar » 12 janv. 2009, 16:40

Bonjour,
Je crée un fichier .txt jusque là pas de soucis
$sql = 'SELECT id_lm, adresse FROM ampli_lm';
$result = mysql_query($sql) or die('Ne trouve pas tout les données : ' .
    mysql_error());
while ($row = mysql_fetch_array($result)) {
    $generation = '&' . $row['id_lm'] . '&' . $row['adresse'] . '&';


    $f = 'Reseau_600_mhz.txt';
    $text = $generation;
    $handle = fopen($f, "w");

    // regarde si le fichier est accessible en écriture
    if (is_writable($f)) {
        // Ecriture
        if (fwrite($handle, $text) === false) {

            echo 'Impossible d\'écrire dans le fichier ' . $f . '';
            exit;
        }


        fclose($handle);

    } else {
        echo 'Impossible d\'écrire dans le fichier ' . $f . '';
    }
}
echo 'Génération du fichier terminé avec succés pour le télécharger merci de <a href="' .
    $f . '">cliquez ici</a>';
Par contre je ne comprend pas pourquoi il n'écrie qu'une seule ligne alors que ma table en comprend plus de 500 :?:

D'avance merci