Skip to content

Aurélien STRIDE

  • 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 : 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
  • 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-2021 – 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

Martin Garrix meets DVBBS – Tsunanimals

https://aurelien-stride.fr/wp-content/uploads/2021/01/Tsunanimals.mp3

Vidéo 88k pour vinyle

https://aurelien-stride.fr/wp-content/uploads/2019/09/wings_88k_av1.mp4

Articles récents

  • Normaliser les musiques et vidéos
  • Vidéo sur vinyle : essai
  • Un analyseur de mots de passe
  • Lier son compte PayPal
  • Extensions utiles de ThunderBird
© 2021 Aurélien STRIDE - Powered by Minimalisticky