Skip to content

Aurélien STRIDE

  • Projets personnels
    • Projets Web personnels
    • Language-of.love
    • Squary Movey / Taiketsu-Doku
    • Sudokube / Wordokube / Linkube
    • Recyclage Augmenté
    • Réflexions en 3D
    • Fièvre de cheval du samedi soir
    • Concours divers
  • Dessins
    • 1998 – Arts Appliqués
    • Actualités
    • Compteurs d’eau
    • Divorce
    • Enquêtes
    • GPS
    • Immobilier
    • Informatique
    • Psycho
    • SNCF
    • Vie de couple
    • Dessins divers
  • Musiques
    • 2016 – Oxydoréduction
    • 2012-Maint. – Mashups
    • 2008-2016 – Indaba Remixes
    • 2013 – Live @ Mistral Palace
    • 2012 – Symphonie Electronique
    • 2010 – Metric : Fantasies
    • 2008 – Marcy Playground : Leaving Wonderland
    • 2008-2010 – Ganadji-Nesis
    • 2008-2009 – Mandalas
    • 2007-2009 – Electrons Libres
    • 2006-2007 – Manifest for a generation
    • 2003 – De Inferni Profundis
    • 1997 – MODified
    • Par genre
      • Ambient
      • Jazz
      • Hip-Hop
      • Nightclub
    • Morceaux non classés
    • Vidéos musicales
    • Playlist Soirée Château de Fitou
  • Travaux graphiques
    • Affiches / Flyers
    • Cartes de visite
    • Jaquettes CD-DVD
    • Logos & Bannières
    • Photomontages
    • Sketchups
    • Weavesilk
  • Tutoriels
    • Les outils du dépanneur informatique
    • Liste de mes programmes favoris
    • L’installation idéale d’un OS
    • Installer un serveur web sous Unix
  • Liens favoris
  • Road Trip

Aurélien STRIDE

Life & Works

Suivre la progression d’une copie en PHP

22 octobre 2019 by webmaster

S’il y a quelque chose qui est d’une complexité monumentale en programmation de sites web, c’est de savoir ce qu’il se passe sur le serveur mais côté client, surtout quand certains processus, comme la copie de lourds fichier par exemple, peut prendre plusieurs minutes.

Cependant, le fichier est copié octet par octet, et le serveur distant ne connait pas la taille finale. Donc on peut exploiter cette information.

Note : les tests ont été effectués sur un serveur Windows, à confirmer sur un Unix.

Ainsi, voici la démarche que j’ai mise en place pour un serveur de sauvegarde :

  1. Faire un flush() dès le début, pour voir le code s’afficher au fur et à mesure
  2. créer une page d’appel en Ajax, qui renvoie la taille du fichier en cours de copie, avec en paramètres :
    1. le nom du fichier
    2. la taille du fichier initial
  3. en PHP, avant de faire la copie, ajouter un echo d’un script qui fait un setInterval sur la page Ajax et qui affiche la progression

Exemple :

<script src="jquery.js"></script>
<?php

$src='fichier1.zip';
$dest='fichier2.zip';

$taille=filesize($src);

echo '<span id="pgrs">
<script>
$.get("ajax.php?taille='.$taille.'&dest='.urlencode($dest).'")
.done(function(data) {
var pc=Math.floor(100*data/'.$taille.');
$("#pgrs").html(pc+"%");
</script>';
copy($src, $dest);

Post navigation

Previous Post:

Arnaque à la webcam : comment s’en protéger ?

Next Post:

Squary-Movey / Taiketsu-doku en version voyage

[Mashup] Canned Heat meets Mar-Keys - Let's work last night
[Remix] Skype Ringtone
  • Blog
  • Dessins
    • 1998 - Arts Appliqués
    • Actualités
    • Compteurs d'eau
    • Dessins divers
    • Divorce
    • Enquêtes
    • GPS
    • Immobilier
    • Informatique
    • Psycho
    • SNCF
    • Vie de couple
  • Ecrits
    • Chanson : Albinoni mélancolique
    • Chanson : Igor le fantôme
    • Chanson : J'ai besoin de vacances...
    • Chanson : Leave me alone
    • Livre : Discours pour la Présidence
    • Livre : L'affaire des brosses à dents
    • Livre : Le lycanthrope contemporain
    • Livre : Mon perfectionnisme
    • Livre : My Ultimate Fonts Collection
    • Poème : Amour
    • Poème : Au revoir
    • Poème : Dévouement
    • Poème : Everlasting
    • Poème : Infidèle
    • Poème : La route est longue
    • Poème : Messages
    • Poème : Ô Nuit
    • Poème : Regard
    • Poème : Romance
    • Poème : Sadness
    • Poème : Un inadapté
    • Poème : Vouloir mourir
    • Poème : Voyage Initiatique
  • Emploi
    • 1999 - Menuisier chez Manpower
  • Liens favoris
  • Musiques
    • 1997 - MODified
    • 2003 - De Inferni Profundis
    • 2006-2007 - Manifest for a generation
    • 2007-2009 - Electrons Libres
    • 2008 - Marcy Playground : Leaving Wonderland
    • 2008-2009 - Mandalas
    • 2008-2010 - Ganadji-Nesis
    • 2008-2016 - Indaba Remixes
    • 2010 - Metric : Fantasies
    • 2011-2013 - Liaisons Covalentes
    • 2012 - Symphonie Electronique
    • 2012-2023 - Mashups
    • 2013-2015 - Lives @ Mistral Palace
    • 2016 - Music Maker Jam (Android)
    • 2016 - Oxydoréduction
    • Morceaux non classés
    • Par genre
      • Ambient
      • Disco
      • Hip-Hop
      • Jazz
      • Nightclub
      • Playlist Soirée Château de Fitou
    • Vidéos musicales
  • Projets personnels
    • Concours divers
    • Fièvre de cheval du samedi soir
    • Language-of.love
    • Projets Web personnels
    • Recyclage Augmenté
    • Réflexions en 3D
    • Squary Movey / Taiketsu-Doku
    • Sudokube / Wordokube / Linkube
  • Qui suis-je ?
  • Travaux graphiques
    • Affiches / Flyers
    • Cartes de visite
    • Jaquettes CD-DVD
    • Logos & Bannières
    • Photomontages
    • Sketchups
    • Weavesilk
  • Tutoriels
    • Installer un serveur web sous Unix
    • L'installation idéale d'un OS
    • Les outils du dépanneur informatique
    • Liste de mes programmes favoris
© 2025 Aurélien STRIDE - Powered by Minimalisticky