Un petit problème dans mon code ...

Eléphanteau du PHP | 11 Messages

16 janv. 2013, 22:13

Bonjour,
J'ai ce code :
<?php

$nb_min = 1;
$nb_max = 2147483646;
$hasard = mt_rand($nb_min,$nb_max);
$handle = fopen("$hasard.php", "w+");
fwrite($handle, '<?php
');
fwrite($handle, '$Fnm = $hasard.".txt"; //<-- problème
');
fwrite($handle, '$inF = fopen($Fnm,"w");
');
fwrite($handle, '$ptr = ftell($inF);
'); 
fwrite($handle, '$ptr = fseek($inF,$ptr-10);
'); 
fwrite($handle, '$ip = $_SERVER["REMOTE_ADDR"];
'); 
fwrite($handle, 'fputs($inF,$ip);
'); 
fwrite($handle, 'fclose($inF);
'); 
fwrite($handle, '?>
'); 
echo $hasard
?>

Eléphanteau du PHP | 11 Messages

16 janv. 2013, 22:13

Le système contre le spam a refusé une partie du message, voici la suite :

Il permet d'écrire un fichier php au hasard qui lui même est censé récupérer l'ip de la personne qui clique et l'enregistrer dans un fichier texte du même nom que le fichier php (au hasard). Mais le problème (en commentaire dans mon code) est que $hasard n'est pas pris en compte et donc le code me créé un fichier texte vide :(
J'ai tout essayé, mais là, je ne sais plus quoi faire, c'est pourquoi je viens vous demander de l'aide en espérant avoir été compréhensible :?

Merci à tous.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 janv. 2013, 22:43

salut,


c'est un peu l'fouillis ton code ;)
Utilise la syntaxe heredoc pour le contenudu ton fichier ?

Ton code ne fait que créer un fichier php c'est tout. Il va contenir le code créer le fichier le fichier texte lorsque ce fichier sera exécuter.
as tu testé le code création du second fichier directement ?
<?php
$nb_min = 1;
$nb_max = 2147483646;
$hasard = mt_rand($nb_min,$nb_max);
$handle = fopen($hasard.'.php', 'w+');
fwrite($handle, <<<fichier
<?php
$Fnm = ${hasard}.'.txt';
$inF = fopen($Fnm,'w');
$ptr = ftell($inF);
$ptr = fseek($inF,$ptr-10);
$ip = \$_SERVER['REMOTE_ADDR'];
fputs($inF,$ip);
fclose($inF);
?>
fichier;
); 
fclose($handle);
echo $hasard
?>

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 11 Messages

16 janv. 2013, 22:45

Re,
J'ai testé le code, et il marche parfaitement, sauf que le fichier qui contient l'ip n'a pas de nom ...
Oui, je sais, mon code est un peu fouillis, je débute :oops:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 janv. 2013, 23:23

que contient le fichier généré ?


@+
Il en faut peu pour être heureux ......

SuperGIue
Invité n'ayant pas de compte PHPfrance

17 janv. 2013, 20:00

Bonjour,
la page générée contient l'adresse IP de la personne ayant cliqué sur le lien généré...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 janv. 2013, 23:02

le fichier php ou le fichier texte ?

tu n'es pas assez prolixe on ne peux pas t'aider si tu ne nous dit pas ce qui se passe exactement, est ce que le fichier php est créé, est ce qu'il créer le fichier texte ?

si tu nous indique ce que tu veux faire au final on pourra peux être t'indiquer une solution plus simple :)


Pour info le stockage d'ip est soumis a réglementation #-o


@+
Il en faut peu pour être heureux ......