Code pour mettre le nombre de fichiers d'un dossier

ViPHP
xTG
ViPHP | 7331 Messages

12 mai 2012, 19:02

Essaies ainsi :
$compteur = file_get_contents('compteur.txt');
var_dump($compteur); // pour vérifier le type, et si String vérifier la longueur
$retour = file_put_contents('compteur.txt', $compteur++);
var_dump($retour); // vérifier le bon fonctionnement de l'écriture

Eléphant du PHP | 55 Messages

12 mai 2012, 20:27

Alors il y a un beg la en haut du site apparaît ça: "string(3) "420" int(3)" et au milieu apparaît ça: Nombres d'images uploader: 4213

Dans le fichier config.php j'ai ces ligne:
$compteur = file_get_contents('compteur.txt');
var_dump($compteur); // pour vérifier le type, et si String vérifier la longueur
$retour = file_put_contents('compteur.txt', $compteur++);
var_dump($retour); // vérifier le bon fonctionnement de l'écriture
Dans le index.php cette ligne:
Nombres d'images uploader: <?php echo $compteur?><?php echo $retour;?>

ViPHP
xTG
ViPHP | 7331 Messages

12 mai 2012, 20:33

Ce n'est pas un bug mais du debug. ^^
Ce sont les var_dump() qui nous permette de nous renseigner.
Et en gros le script fonctionne, il récupère bien le contenu du fichier et il enregistre bien aussi d'après le retour de la fonction.

Eléphant du PHP | 55 Messages

12 mai 2012, 20:40

Ah ok^^ Pourtant le nombre d'image ne change pas ^^ j'ai surement une modif a faire quelque part maintenant je suppose ?

ViPHP
xTG
ViPHP | 7331 Messages

13 mai 2012, 08:51

Beurf... C'est ma faute en fait. :P
Remplaces l'écriture par ça :
file_put_contents('compteur.txt', ++$compteur);
Car sinon on enregistre la valeur puis ensuite on l'incrémente. ^^

Eléphant du PHP | 55 Messages

13 mai 2012, 12:47

Alors maintenant j'ai juste, Nombres d'images uploader: 13 mais le souci c'est que le nombre augmente de 1 a chaque chargement de la page donc si on actualise le site sans uploader une image sa sera compter comme un upload d'image.

Dans mon fichier config.php j'ai maintenant ça:
$compteur = file_get_contents('compteur.txt');
file_put_contents('compteur.txt', ++$compteur);
C'est normal que sa me fasse ça ?^^

En tous cas merci encore pour l'aide que tu m'apporte :)

ViPHP
xTG
ViPHP | 7331 Messages

13 mai 2012, 14:41

Si ton fichier config est inclut sur chaque page... Cela va de soit non ?
Ce script est à exécuter lors d'un upload. ;)

Eléphant du PHP | 55 Messages

13 mai 2012, 15:59

Après de longues recherche j'ai trouvé en tapant sur google ce que je cherchais !

Cela affiche le nombre de fichiers dans mon dossier image:
$files = glob($repname."images/*.*");
$compteur = count($files);
Problème résolu. Merci encore de m'avoir aidé xTG !

Cordialement,

ViPHP
AB
ViPHP | 5818 Messages

13 mai 2012, 18:28

Ben oui mais là tu vas compter tous tes fichiers à chaque affichage de la page, et s'il y en a beaucoup cela va handicaper les performances du serveur.
Ce que te proposait xTG c'était d'enregistrer ce nombre dans un fichier texte pour pouvoir l'afficher (et même l'incrémenter) sans avoir à utiliser la fonction "glob" qui recomptera à chaque fois les fichiers.

Eléphant du PHP | 55 Messages

14 mai 2012, 00:14

Ah d'accord, mais le souci c'est que je ne vois pas comment faire exécuter le script lors d'un upload comme la dit xTG.

Si vous voulez toujours m'aider je suis preneur car la je sais vraiment pas comment faire ça !

Merci d'avance

ViPHP
AB
ViPHP | 5818 Messages

14 mai 2012, 04:18

Et bien tu mets ces deux lignes
$compteur = file_get_contents('compteur.txt');
file_put_contents('compteur.txt', ++$compteur);
... dans ton script d'upload s'il a réussi donc si un fichier est téléchargé. Normalement tu devrais (dans ton script d'upload) avoir une ligne du genre
if(move_uploaded_file ...)
qui confirme qu'un fichier uploadé est déplacé et tu devrais donc ajouter les deux lignes ci-dessus après cette condition qui confirme qu'un fichier a été téléchargé sur ton serveur.

Au passage un petite pub pour ma classe de téléchargement de fichiers (au cas où si besoin).

Eléphant du PHP | 55 Messages

14 mai 2012, 19:34

J'ai regarder dans mes fichiers config.php et engine.php et je ne trouve vraiment pas où c'est, j'ai essayer plusieurs fois a plusieurs lignes mais rien n'a faire sa change rien.

Merci d'avance.

ViPHP
xTG
ViPHP | 7331 Messages

14 mai 2012, 19:56

Il y a forcement cette fonction quelque part, donc c'est que tu cherches dans les mauvais fichiers. :)

Eléphant du PHP | 55 Messages

14 mai 2012, 20:40

J'ai trois fichiers php (index.php, config.php, engine.php) j'ai vraiment regarder les 3 fichiers ligne par ligne, c'est possible que ça soit dans le index.php.

Au pire je vous envoi un des fichiers par mp.

Merci d'avance

ViPHP
xTG
ViPHP | 7331 Messages

14 mai 2012, 21:32

Chaque logiciel d'édition de fichier comporte une fonction rechercher...
Donc à priori on trouvera rien de plus que ce que tu es capable de trouver.