« 1 2 3 (4)
Re : Xmdoc version 1.2
Pascal C.
Pascal C.

Re : Xmdoc version 1.2

Pascal C. 451
2021/4/1 17:16
#31
Pascal C. 451
2021/4/1 17:16
Je pense que je t'ai plus embrouillé qu'autre chose au final Greg

Dans tous les cas, lorsque j'ai 2 mn je remonterais un clone de mon site pour pouvoir bricoler... donc au besoin tu n'auras qu'à me siffler
Re : Xmdoc version 1.2
Grégory M
Grégory M

Re : Xmdoc version 1.2

Grégory M 183
2021/4/1 22:18
#32
Grégory M 183
2021/4/1 22:18
Re!

Rien du tout, c'est moi qui me suis embrouillé! Maintenant c'est tout bon, normalement tout devrait fonctionner!

Jusqu’à maintenant je tâtonnais pour résoudre les problèmes sans vraiment comprendre, j'ai compris et je n'ose pas en parler tellement c'est nul...

Dans tout les cas tu télécharge le module ici:

https://www.monxoops.fr/modules/xmdoc/document.php?doc_id=8

C'est la version 1.22 finale!

Tu écrase juste les fichiers et tu mets à jour le module, ensuite tout fonctionne (enfin j'espère!).

Alors l'explication est très simple, je commence:

pour faire une redirection sur le fichier à télécharger j'utilisais:

Header("Location: $url");


La variable $url est l'url du fichier à télécharger!

Le 16 janvier 2019 j'ajoute:
Header("Content-Length: $contentLength");


Cela permet de faire passer la longueur du fichier au navigateur (avantage l'avancement de téléchargement fonctionne).

$contentLength est calculé d'après la taille du fichier que nous avons uploadé. Sauf qu'il s'agit d'une fonction maison qui converti la taille en octet.

Tous les problème viennent d'ici... La fonction que j'ai écrite ne donne pas la valeur exacte. J'aurai du utiliser la fonction:

filesize()


Elle donne la taille du fichier passé en paramètre. Sauf que je dois avoir un chemin physique et pas une url (je pense que c'est pour cette raison que je n'ai pas utilisé cette fonction car je devais convertir l'url en chemin physique)

Le 13 avril 2020 je remarque que certains fichiers ne se télécharge pas, je ne sais pas pourquoi mais j'ajoute un petit echo et ça fonctionne:
$contentLength XmdocUtility::StringSizeConvert($document->getVar('document_size'));
echo 
$url ;
Header("Content-Length: $contentLength");
Header("Location: $url");


Le problème est toujours le même la taille réelle du fichier n'est pas forcément identique à ma valeur calculée, le "echo" semble (uniquement sous windows) aider à finaliser le téléchargement.

Ne jamais faire un truc qui corrige un problème sans savoir pourquoi!

Et la on arrive le 11 mars ou j’intègre le système qui force le téléchargement. Je n'ai pas le chois, je dois avoir un chemin physique alors je converti l'url en chemin physique et je ne n'utilise pas la fonction "filesize()" pour la taille du fichier mais toujours ma fonction.

Tu me remonte un bug alors comme il y a une année j'ajoute un "echo" et ça fonctionne sous windows. Sauf que sous linux cela ne fonctionne pas.

Tu va me dire pourquoi ça fonctionnait de temps en temps et cela même sous linux? Car si ma fonction retournait exactement la bonne taille du fichier alors tout fonctionne. Sauf que cela n'est pas toujours le cas et c'est pour cette raison que le bug est aléatoire. Avec de la chance les tailles sont identiques et cela fonctionne sinon cela ne marche pas.

Maintenant j'ai viré les "echo" et j'utilise la bonne fonction pour la taille des téléchargements.

Donc tout fonctionne bien.

Bref un bogue bien difficile à trouver, c'est une succession de petites erreurs....

Dans tout les cas merci pour tes retours qui font avancer mon module!
--------------------
http://www.monxoops.fr
Re : Xmdoc version 1.2
Pascal C.
Pascal C.

Re : Xmdoc version 1.2

Pascal C. 451
2021/4/1 23:21
#33
Pascal C. 451
2021/4/1 23:21
Merci à toi de nous faire profiter de ton fabuleux travail et pour ta patience.

Il semble que tu ais bien galéré, mais je suis content que tu y sois arrivé si rapidement.
Ça me laisse rêveur.

J'ai hâte de tester dans tous les cas.
Re : Xmdoc version 1.2
Alain T
Alain T

Re : Xmdoc version 1.2

Alain T 727
2021/4/1 23:32
#34
Alain T 727
2021/4/1 23:32
Et oui d'où l'intérêt de choisir des modules qui sont suivis, qui sont "vivants".
Re : Xmdoc version 1.2
Alain T
Alain T

Re : Xmdoc version 1.2

Alain T 727
2021/4/6 11:07
#35
Alain T 727
2021/4/6 11:07
Et voici l'article à lire !
Re : Xmdoc version 1.2
Lou86
Lou86

Re : Xmdoc version 1.2

Lou86 38
2021/4/10 18:48
#36
Lou86 38
2021/4/10 18:48
Quote:
Jusqu’à maintenant je tâtonnais pour résoudre les problèmes sans vraiment comprendre, j'ai compris et je n'ose pas en parler tellement c'est nul...


Mais si on veut savoir ! (on se sentira moins bêtes nous après !)
(Désolée pour le flood, je bosse en mode bot depuis quelques temps et je n'avais pas ramené ma fraise depuis trop longtemps)